Webhook を調べる

完了

Runbook の開始は、それをスケジュールするか、Webhook を使用することによって自動化できます。

Webhook を使用すると、1 つの HTTPS 要求を使用して Azure Automation で特定の Runbook を開始できます。

これにより、Azure DevOps、GitHub、カスタム アプリケーションなどの外部サービスは、Azure Automation API を使用してより複雑なソリューションを実装することなく、Runbook を開始できます。

Webhook の詳細については、Webhook を使用した Azure Automation Runbook の開始に関するページを参照してください。

Diagram of flowchart webhook process. The Webhook and Runbook are within a square labeled Automation.

webhook を作成する

Runbook にリンクされている Webhook を作成するには、次の手順を実行します。

  1. Azure portal で、Webhook を作成する Runbook を開きます。
  2. [Runbook] ペインの [リソース] の下から [Webhook] を選択し、次に [+ Webhook の追加] を選択します。
  3. [新しい Webhook を作成します] を選択します。
  4. [新しい Webhook を作成します] ダイアログには、構成が必要ないくつかの値があります。 構成後、Create: 「作成」 を選択します。
    • 名前。 名前はクライアントに公開されていないため、Webhook に任意の名前を指定します。 これはユーザーが Azure Automation の Runbook を識別する場合にのみ使用されます。
    • Enabled。 既定では、Webhook は作成時に有効になります。 Disabled に設定した場合、クライアントはそれを使用できなくなります。
    • 有効期限。 各 Webhook には有効期限があり、その時点で使用できなくなります。 Webhook の有効期限が切れていなければ、Webhook を作成した後に引き続き日付を変更できます。
    • URL。 Webhook URL は、クライアントが Webhook にリンクされた Runbook を開始するために HTTP POST を使用して呼び出す一意のアドレスです。 これは Webhook の作成時に自動的に生成され、カスタム URL を指定することはできません。 この URL には、追加の認証なしで、サードパーティ製システムによる Runbook 呼び出しを可能にするためのセキュリティ トークンが含まれています。 このため、パスワードと同じように扱います。 この URL は、Webhook が作成されたときにセキュリティ上の理由により Azure portal でのみ表示できます。 この URL は、将来使用するために安全な場所にメモしておきます。Diagram of the flow of webhook parameter values and how they flow. The webhook starts with an incoming HTTP POST request.

Note

作成時には、必ず Webhook URL をコピーして安全な場所に保存してください。 Webhook を作成した後は、URL を再度取得することはできません。

  1. [Parameters run settings (Default: Azure)](パラメーターの実行設定 (既定: Azure)) オプションを選択します。 このオプションには次の特性があり、これを使用することで次の操作を実行できます。

    • Runbook に必須のパラメーターがある場合は、作成時にこれらの必須パラメーターを指定する必要があります。 値が指定されない限り、Webhook を作成できません。
    • Runbook に必須のパラメーターがない場合は、ここでは構成は必要ありません。
    • Webhook には、Runbook の必須パラメーターの値、および省略可能なパラメーターの値を含める必要があります。
    • クライアントで Webhook を使用して Runbook を開始する場合、定義されているパラメーター値は上書きできません。
    • クライアントからデータを受信するために、Runbook では、[object] 型の $WebhookData という 1 つのパラメーターを受け入れることができます。これには、クライアントが POST 要求に含めるデータが含まれています。
    • $Webhook Data パラメータをサポートするために必要な Webhook の構成はありません。Screenshot of a warning explaining that after creating a webhook, its URL cannot be viewed. Copy it before pressing OK.
  2. 完了したら、[作成] を選択します。

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 >"]}
    
    

    応答には 1 つのジョブ ID が含まれますが、JSON 形式により潜在的な将来の拡張が可能です。

  • Runbook ジョブがいつ完了するかを判断したり、Webhook からその完了状態を判断したりすることはできません。 この情報を選択できるのは、PowerShell や Azure Automation API などの別の方法でジョブ ID を使用する場合のみです。

詳細については、Webhook を使用した Azure Automation Runbook の開始に関するページを参照してください。