App Center Webhook

重要

Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到它完全淘汰為止,但有數個建議您考慮移轉至的建議替代方案。

深入瞭解支持時程表和替代方案。

概觀

Webhook 是一種簡單的方式,可在發生指定的事件時通知第三方應用程式。 Webhook 的主要目標是將重要資訊從 App Center 傳達給使用者,而不是讓使用者前往入口網站,或執行 API 呼叫,以在發生特定事件時收到通知。

App Center 的 Webhook 可讓使用者針對下列事件將自動通知傳送至已連線的應用程式:

  • 組建:

    • 建置成功:

      • 一律:當您的應用程式成功建置時
      • 只有在先前失敗時:當應用程式在一或多個失敗的組建之後成功建置時
      • 永不:您不會收到建置成功的通知
    • 建置失敗:

      • 一律:當應用程式無法建置時
      • 只有在先前成功時:當應用程式在一或多個成功建置之後無法建置時
      • 永不:您不會收到建置失敗的通知
  • 當機:建立當機群組時

  • 散發:當新版本發行至通訊群組時

    注意

    針對 [散發],當新版本發行至通訊群組時,將會觸發 Webhook。 如果您在建立新版本的檢閱步驟中未通知測試人員,則不會引發 Webhook。 針對診斷,系統會針對提供符號的新錯誤群組觸發 Webhook。 如果找不到新錯誤群組的符號,則不會引發 Webhook。

App Center 會將 HTTP POST 承載傳送至 Webhook 的指定 URL。 Webhook 是在指定應用程式的 [ 設定 ] 頁面底下的應用程式層級設定。 用戶必須在應用程式中擁有管理員或開發人員許可權,才能建立及設定 Webhook。 我們目前僅支援 SlackMicrosoft Teams 的 Webhook。 若要張貼到其他平臺,您可以撰寫 Azure 函 式,以轉譯我們 POST 符合平臺需求的方式。

開始使用

  1. 流覽至 App Center,然後選取您想要進行 Webhook 整合的特定應用程式。

  2. 在您的應用程式中,在最左邊的面板中,選取 [ 設定]

  3. 在標題為 Webhook 的數據列面板中,移至右側角落,然後按兩下 鉛筆圖示,以顯示 [Webhook] 面板。

    如何編輯 Webhook 的設定

  4. 在右上角,按兩下藍色 的 [新增 Webhook] 按鈕,然後輸入:

    • Webhook 名稱

    • Webhook URL

      例如,您可以從整合應用程式的設定取得 Webhook URL (,以下是如何 從 Microsoft Teams 取得 Webhook URL 的詳細數據,以及如何 從 Slack) 取得 Webhook URL

      選取 [建置狀態通知] 的 下拉式清單 ,以及 [當機] 和 [散發通知] 的複選框 ,以決定哪些事件會觸發 Webhook 警示。

      如何建立新的 Webhook

  5. 完成! 您的 Webhook 現在已建立並啟用。 您可以重複 步驟 4 來建立多個 Webhook。

  6. 切換至 Webhook 的最右邊,以測試停用或刪除 Webhook。

    • test 會將測試警示傳送至已連線的應用程式。
    • disable 會讓 Webhook 保持非使用中狀態,但會出現在您的儀錶板中。
    • delete 會從儀錶板中移除 Webhook。

當這些事件發生時,App Center 通知會張貼到整合式應用程式中。 例如,以下是建置成功通知與已連線 Slack 應用程式的外觀:

在 Slack 上建置成功通知

Webhook承載範例

以下是 JSON Webhook 承載的範例:

  1. 建置
{
  "app_name": "myFirstApp",
  "branch": "main",
  "build_status": "Succeeded",
  "build_id": "33",
  "build_link": "https://appcenter.ms/users/{user-id}/apps/{app-name}/build/branches/main/builds/33",
  "build_reason": "manual",
  "finish_time": "2018-06-14T23:59:05.2542221Z",
  "icon_link": "https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/f7794e4c-42f1-4e7c-8013-07ed2e1b733d/ic_launcher.png?sv=2020-02-18&sr=c&sig=gs4JfcWjpKeYH%2F%2Fg0jEtSKKbeRkug9q%2FldslmzzeOg0%3D&se=2020-02-26T08%3A57%3A58Z&sp=r",
  "notification_settings_link": "https://appcenter.ms/users/{user-id}/apps/{app-name}/settings/notifications",
  "os": "iOS",
  "start_time": "2018-06-14T23:57:03.4379381Z",
  "source_version": "55820a357ba26831f2eeb3be9973a4ef20618b73",
  "sent_at": "2018-06-14T23:59:08.4897604Z"
}
  1. 毀損
{
  "id":"3698593379u",
  "name":"android.app.Activity.performResume (Activity.java:5084)",
  "reason":"android.app.SuperNotCalledException",
  "url":"https://appcenter.ms/orgs/{org-id}/apps/{app-name}/crashes/errors/3698273379u",
  "app_display_name":"{app-name}",
  "app_platform":"Java",
  "app_version":"2.0.1(42)",
  "stack_trace":[],
  "affected_users":0,
  "crash_count":0,
  "sent_at":"2019-05-16T23:47:31.4881512Z",
  "app_id":"00001111-aaaa-2222-bbbb-3333cccc4444"
}
  1. 散發
{
  "app_name":"{app-name}",
  "app_display_name":"{app-display-name}",
  "release_id":"123",
  "platform":"Android",
  "uploaded_at":"2018-07-17T20:46:14Z",
  "fingerprint":"0abed1269e4ae3bf524e4cc7165f4f34",
  "release_notes":"",
  "version":"74",
  "short_version":"1.7.0",
  "min_os":"4.0.3",
  "mandatory_update":true,
  "size":2634279,
  "provisioning_profile_name":null,
  "provisioning_profile_type":null,
  "bundle_identifier":"com.microsoft.appcenter.test",
  "install_link":"https://install.appcenter.ms/orgs/{org-name}/apps/{app-name}/releases/123?source=email",
  "icon_link":"https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/f7794e4c-42f1-4e7c-8013-07ed2e1b733d/ic_launcher.png?sv=2020-02-18&sr=c&sig=gs4JfcWjpKeYH%2F%2Fg0jEtSKKbeRkug9q%2FldslmzzeOg0%3D&se=2020-02-26T08%3A57%3A58Z&sp=r",
  "distribution_group_id":"1a5a0605-4b9c-4de2-9a35-t569456df0cc",
  "installable":true,
  "sent_at":"2019-05-16T23:20:08.7799314Z",
  "app_id":"11112222-bbbb-3333-cccc-4444dddd5555"
}

您也可以使用 RequestBin 檢查承載。 若要這樣做,請流覽至 RequestBin,按兩下 [ 建立 RequestBin],然後在 [Bin URL ] 底下複製產生的 URL,然後將 URL 貼上為 App Center 中的 Webhook。

自訂 Webhook 支援

若要張貼到其他平臺,您可以撰寫 Azure 函 式,以轉譯我們 POST 符合平臺需求的方式。 若要這樣做,請建立 Azure 函式,將 URL 貼到步驟 4 中的 [Webhook URL] 字段底下,而 App Center 會將 Webhook 承載張貼至該端點。 然後,您可以將承載修改為平臺的需求。