webhook 살펴보기
Runbook을 예약하거나 webhook를 사용하여 Runbook을 자동으로 시작할 수 있습니다.
webhook를 사용하면 단일 HTTPS 요청을 통해 Azure Automation의 특정 Runbook을 시작할 수 있습니다.
이렇게 하면 Azure Automation API를 사용하여 더 복잡한 솔루션을 구현하지 않고도 Azure DevOps, GitHub 또는 사용자 지정 애플리케이션과 같은 외부 서비스가 Runbook을 시작할 수 있습니다.
webhook에 대한 자세한 내용은 webhook를 사용하여 Azure Automation Runbook 시작을 참조하세요.
웹후크 만들기
다음 단계에 따라 Runbook에 연결된 webhook를 만듭니다.
- Azure Portal에서 webhook를 만들려는 Runbook을 엽니다.
- Runbook 창의 [리소스]에서 Webhook를 선택한 다음, 웹후크 추가를 선택합니다.
- 새 webhook 만들기를 선택합니다.
- 새 webhook 만들기 대화 상자에서 여러 가지 값을 구성해야 합니다. 값을 구성한 후 만들기를 선택합니다.
- 이름. 이름은 클라이언트에 노출되지 않으므로 원하는 webhook 이름을 지정합니다. Azure Automation에서 Runbook을 식별하는 용도로만 사용됩니다.
- Enabled. webhook는 생성될 때 기본적으로 사용하도록 설정됩니다. 사용 안함으로 설정할 경우 어떤 클라이언트도 webhook를 사용할 수 없습니다.
- 만료. webhook마다 만료 날짜가 있으며, 이 날짜가 되면 더 이상 webhook를 사용할 수 없습니다. webhook를 만든 후에도 webhook가 아직 만료되지 않았다면 날짜를 수정할 수 있습니다.
- URL. webhook URL은 클라이언트가 webhook에 연결된 Runbook을 시작하기 위해 HTTP POST를 통해 호출하는 고유한 주소입니다. webhook를 만들 때 자동으로 생성되며 사용자 지정 URL을 지정할 수 없습니다. URL에는 타사 시스템이 추가 인증 없이 runbook을 호출할 수 있게 해주는 보안 토큰이 포함됩니다. 이러한 이유로 암호처럼 취급해야 합니다. webhook를 만들 때 보안상의 이유로 Azure Portal에서만 URL을 볼 수 있습니다. 나중에 사용할 수 있도록 안전한 곳에 URL을 기록해 두세요.
참고 항목
webhook를 만들 때 webhook URL을 복사하여 안전한 곳에 저장해 두어야 합니다. webhook를 만든 후에는 URL을 다시 검색할 수 없습니다.
매개 변수 실행 설정(기본값: Azure) 옵션을 선택합니다. 이 옵션은 다음 작업을 완료할 수 있는 다음과 같은 특징이 있습니다.
- Runbook에 필수 매개 변수가 있는 경우 Runbook을 만들 때 이러한 필수 매개 변수를 제공해야 합니다. 값을 제공하지 않으면 webhook를 만들 수 없습니다.
- Runbook에 필수 매개 변수가 없으면 여기서 반드시 수행해야 하는 구성도 없습니다.
- webhook는 Runbook 필수 매개 변수의 값과 선택적 매개 변수의 값을 포함해야 합니다.
- 클라이언트는 webhook를 사용하여 Runbook을 시작할 때 정의된 매개 변수 값을 재정의할 수 없습니다.
- 클라이언트에서 데이터를 수신하려면 클라이언트가 POST 요청에 포함시키는 데이터를 포함하고 있는
[object]
형식의 $WebhookData라는 단일 매개 변수를 Runbook에서 수락하면 됩니다. - $WebhookData 매개 변수를 지원하는 데 필요한 웹후크 구성은 없습니다.
모두 마쳤으면 만들기를 선택합니다.
webhook 사용
만들어진 후에 webhook를 사용하려면 클라이언트 애플리케이션이 webhook의 URL로 HTTP POST를 실행해야 합니다.
webhook의 구문 형식은 다음과 같습니다.
http://< Webhook Server >/token?=< Token Value >
클라이언트는 POST 요청으로부터의 다음 반환 코드 중 하나를 받게 됩니다.
코드 테스트 설명 202 수락됨 요청이 수락되었고 runbook에서 대기합니다. 400 잘못된 요청 Runbook이 만료되었거나 사용하지 않도록 설정되었거나 URL의 토큰이 잘못되어 요청이 수락되지 않았습니다. 404 찾을 수 없음 webhook, Runbook 또는 계정을 찾을 수 없어서 요청이 수락되지 않았습니다. 500 내부 서버 오류 성공하면 webhook 응답에 다음과 같이 JSON 형식의 작업 ID가 포함됩니다.
{"JobIds":["< JobId >"]}
응답에는 단일 작업 ID가 포함되지만 JSON 형식을 사용하면 향후 개선이 가능합니다.
Runbook 작업이 완료된 시기를 확인하거나 webhook에서 완료 상태를 확인할 수 없습니다. PowerShell 또는 Azure Automation API와 같은 다른 방법으로 작업 ID를 사용해야만 이 정보를 선택할 수 있습니다.
자세한 내용은 webhook를 사용하여 Azure Automation Runbook 시작 페이지를 참조하세요.