檢查 Webhook

已完成

您可以透過排程 Runbook 或使用 Webhook 來自動啟動 Runbook。

Webhook 可讓您在 Azure 自動化中,透過單一 HTTPS 要求啟動特定的 Runbook。

這可以讓外部服務 (例如 Azure DevOps、GitHub 或自訂應用程式) 無須使用 Azure 自動化 API 實作更複雜的解決方案,即可啟動 Runbook。

如需有關 Webhook 的詳細資訊,請參閱使用 Webhook 啟動 Azure 自動化 Runbook

流程圖 Webhook 流程的圖表。Webhook 和 Runbook 位於標記為 [自動化] 的方塊內。

建立 Webhook

您會使用下列步驟,建立連結至 Runbook 的 Webhook:

  1. 在 Azure 入口網站中,開啟所要建立 Webhook 的 Runbook。
  2. 在 Runbook 窗格的 [資源] 下,選取 [Webhook],並選取 [新增 Webhook]
  3. 選取 [建立新的 Webhook]
  4. 在 [建立新的 Webhook] 對話放塊中,您必須設定數個值。 在設定之後,選取 [建立]
    • 名稱. 指定所要 Webhook 的名稱,因為該名稱不會向用戶端公開。 該名稱僅供您用來識別 Azure 自動化中的 Runbook。
    • Enabled。 建立 Runbook 時,Webhook 會預設為啟用。 如果您將其設定為 [停用],則任何用戶端皆無法使用。
    • 到期。 每個 Webhook 都有到期日,到期後便無法再使用。 假設 Webhook 尚未到期,您可以在建立 Webhook 之後,繼續修改日期。
    • URL。 Webhook URL 是唯一的位址,讓用戶端用來呼叫 HTTP POST 以啟動連結至 Webhook 的 Runbook。 當建立 Webhook 時會自動產生 URL,而您無法指定自訂 URL。 URL 包含可讓協力廠商系統不需進一步驗證即可叫用 Runbook 的安全性權杖。 基於此原因,請將其視為密碼。 基於安全性原因,您僅可於建立 Webhook 時在 Azure 入口網站中檢視 URL。 在一個安全的位置記下 URL 以供未來使用。Webhook 參數值及其流動方式的圖表。Webhook 開頭為內送 HTTP POST 要求。

注意

建立時,確定複製 Webhook URL,然後將其儲存在安全的位置。 建立 Webhook 之後,您無法再次擷取 URL。

  1. 選取 [參數執行設定 (預設:Azure)] 選項。 此選項有下列特性,可讓您完成下列動作:

    • 如果 Runbook 有強制參數,則您必須在建立期間提供這些必要的參數。 除非提供值,否則您無法建立 Webhook。
    • 如果 Runbook 中沒有強制參數,則就無須設定。
    • Webhook 必須包含任何 Runbook 的強制參數值,並包含選擇性參數的值。
    • 當用戶端使用 Webhook 啟動 Runbook 時,其無法覆寫定義的參數值。
    • 若要從用戶端接收資料,Runbook 可以接受 [object] 類型且稱為 $WebhookData 的單一參數,其中包含用戶端在 POST 要求中所包含的資料。
    • 沒有必要的 Webhook 設定可支援 $WebhookData 參數。警告的螢幕擷取畫面,說明在建立 Webhook 之後,無法檢視其 URL。在按下 [確定] 前請加以複製。
  2. 完成後,請選取 [建立]

使用 Webhook

若要在建立 Webhook 之後加以使用,您的用戶端應用程式必須使用 Webhook 的 URL 來發出 HTTP POST。

  • Webhook 的語法為下列格式:

      http://< Webhook Server >/token?=< Token Value >
    
    
  • 用戶端會從 POST 要求中接收下列其中一個傳回碼。

    程式碼 Test 說明
    202 已接受 已接受要求,且 Runbook 已經成功排入佇列。
    400 錯誤要求 由於 Runbook 已到期、停用或 URL 中的權杖無效,因此無法接受要求。
    404 找不到 由於找不到 Webhook、Runbook 或帳戶,因此無法接受要求。
    500 內部伺服器錯誤
  • 如果成功,Webhook 回應會包含 JSON 格式的工作識別碼,如下所示:

    {"JobIds":["< JobId >"]}
    
    

    回應將包含單一工作識別碼,但是 JSON 格式允許未來可能的增強功能。

  • 您無法判斷工作完成的時間,或從 Webhook 判斷 Runbook 的完成狀態。 您僅可使用工作識別碼搭配其他方法 (例如 PowerShell 或 Azure 自動化 API) 來選擇這項資訊。

如需詳細資訊,請參閱使用 Webhook 啟動 Azure 自動化 Runbook頁面。