App Center Webhook
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
概要
Webhook は、指定したイベントが発生したときにサードパーティアプリケーションに通知する簡単な方法です。 webhook のメインの目的は、ユーザーがポータルに来るのではなく、App Center からユーザーに重要な情報を伝えるか、特定のイベントが発生したときに通知されるように API 呼び出しを実行することです。
App Center の Webhook を使用すると、ユーザーは次のイベントに対して接続されているアプリケーションに自動通知を送信できます。
ビルド:
ビルドの成功:
- 常に: アプリが正常にビルドされたとき
- 以前に失敗した場合のみ: 1 つ以上のビルドが失敗した後にアプリが正常にビルドされた場合
- なし: ビルドの成功に関する通知を受け取りません
ビルドエラー:
- 常に: アプリのビルドに失敗した場合
- 以前に成功した場合のみ: 1 つ以上のビルドが成功した後にアプリのビルドに失敗した場合
- なし: ビルドエラーの通知を受け取りません
クラッシュ: クラッシュ グループが作成されたとき
配布: 新しいバージョンが配布グループにリリースされたとき
注意
配布の場合、新しいバージョンが配布グループにリリースされると、webhook がトリガーされます。 [新しいリリースを作成するレビュー] ステップで [テスト担当者に通知しない] をオンにした場合、Webhook は起動しません。 診断の場合、シンボルが指定された新しいエラー グループに対して webhook がトリガーされます。 新しいエラー グループのシンボルが見つからない場合、webhook は起動しません。
App Center は、Webhook の指定された URL に HTTP POST ペイロードを送信します。 Webhook は、指定したアプリの [設定] ページのアプリ レベルで構成されます。 ユーザーは、Webhook を作成して構成するために、アプリのマネージャーまたは開発者のアクセス許可を持っている必要があります。 現在、 Slack と Microsoft Teams の Webhook のみがサポートされています。 他のプラットフォームに投稿するには、プラットフォームの要件に合わせて Microsoft POST
の方法を変換する Azure 関数を記述できます。
作業の開始
App Center に移動し、Webhook の統合に使用する特定のアプリを選択します。
アプリの左端のパネルで、[設定] を選択 します
Webhooks というタイトルの行パネルで、右上隅に移動し、鉛筆アイコンをクリックします。これにより、Webhooks パネルが表示されます。
右上隅にある青い [新しい Webhook ] ボタンをクリックし、次のように入力します。
Webhook 名
Webhook URL
統合アプリケーションの設定から Webhook URL を取得できます (たとえば、 Microsoft Teams から Webhook URL を取得 する方法と 、Slack から Webhook URL を取得する方法の詳細を次に示します)。
[ビルドの状態通知] のドロップダウン を選択し、[クラッシュ] と [通知の配布 ] のチェック ボックスをオン にして、Webhook アラートをトリガーするイベントを決定します。
これで完了です。 これで Webhook が作成され、有効になります。 手順 4 を繰り返して、複数の Webhook を作成できます。
Webhook の右端に切り替えて、Webhook を テスト、 無効化、または 削除 します。
- test は、接続されているアプリケーションにテスト アラートを送信します。
- disable を使用 すると、Webhook は非アクティブですが、ダッシュボードに存在します。
- 削除 すると、ダッシュボードから Webhook が削除されます。
これらのイベントが発生すると、App Center 通知が統合アプリケーションに投稿されます。 たとえば、接続された Slack アプリケーションでのビルド成功通知の外観を次に示します。
Webhook ペイロードの例
JSON Webhook ペイロードの例を次に示します。
- Build
{
"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"
}
- クラッシュ
{
"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"
}
- 配布
{
"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 を Webhook として App Center に貼り付けます。
カスタム Webhook のサポート
他のプラットフォームに投稿するには、プラットフォームの要件に合わせた方法POST
を変換する Azure 関数を記述できます。 これを行うには、Azure 関数を作成し、手順 4 の [Webhook URL] フィールドの下に URL を貼り付けると、App Center によって Webhook ペイロードがそのエンドポイントにポストされます。 その後、プラットフォームの要件に合わせてペイロードを変更できます。