サービス フックと統合する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

サービス フックを使用すると、Azure DevOps のプロジェクトでイベントが発生したときに、他のサービスでタスクを実行できます。

たとえば、作業項目が作成されたときに Trello でカードを作成したり、ビルドが失敗したときにチームのモバイル デバイスにプッシュ通知を送信したりできます。 また、プロジェクトでイベントが発生したときにアクティビティを推進するより効率的な方法として、カスタム アプリやサービスでサービス フックを使用することもできます。

サービス フックのしくみ

サービス フック publishers サブスクライブできる一連の イベント を定義します。 サブスクリプション これらの イベントをリッスンし イベントに基づいて実行する アクション を定義します。

サブスクリプションは、イベントが発生したときに独自のアクションを実行できる外部サービスである consumers も対象とします。

サービス フックの図。

Note

サービス フックでは、サービス エンドポイントへの受信接続の IP 範囲を許可する必要があります。 サービス エンドポイントは、サービス フックに提供されるプロパティのセットです。 詳細については、「 アドレス一覧とネットワーク接続、IP アドレス、および範囲の制限を参照してください。

利用可能なサービス

サービス フックのターゲットとして、次のサービスを使用できます。 Azure DevOps と統合されるその他のアプリとサービスの詳細については、 Visual Studio Marketplace を参照してください。

サービス サポートされているイベント サポートされているアクション
App Center 作業項目の更新 通知を送信します。 サブスクリプションは、App Center を通じて管理されます。
AppVeyor プッシュされたコード AppVeyor ビルドをトリガーします。 サブスクリプションは AppVeyor を通じて管理されます。
Azuqua すべて イベントを FLO に投稿します。 サブスクリプションは Azuqua を通じて管理されます。
Azure App Service プッシュされたコード Web アプリをデプロイします。 サブスクリプションは、Azure アプリ サービスを通じて管理されます。
Azure Service Bus すべて Notification Hub、Service Bus キュー、または Service Bus トピックにメッセージを送信します。 サブスクリプションは、Azure アプリ サービスを通じて管理されます。
Azure ストレージ すべて ストレージ キューにメッセージを挿入します。
ビルドが完了し、コードがプッシュされた ビルドをキューに入れます。
Datadog すべて Datadog でイベントを投稿します。
Grafana リリース配置が完了しました Grafana データベースに注釈を追加します。
Jenkins ビルドが完了した、コードがプッシュされた、PR マージが試行された、リリースのデプロイが完了した ジェネリックビルドまたは Git ビルドをトリガーします。
Microsoft Teams すべて チャネルにメッセージを投稿します。 サブスクリプションはMicrosoft Teamsで管理されます。
MyGet ビルドが完了し、コードがプッシュされる NuGet パッケージを MyGet に発行します。 MyGet ビルドをトリガーします。 サブスクリプションは MyGet によって管理されます。
Office 365 すべて グループにメッセージを投稿します。
Slack すべて チャネルにメッセージを投稿します。
Trello すべて カードまたはリストを作成します。
UserVoice 作業項目の作成、作業項目の更新 リンクされた作業項目イベントを送信します。 サブスクリプションは UserVoice を通じて管理されます。
Web フック すべて HTTP 経由で投稿します。
Workplace Message Apps すべて 通知を送信します。 サブスクリプションは、Workplace Message Apps を使用して管理されます。
Zapier すべて 通知を送信します。 サブスクリプションは、Zapier を使用して管理されます。
Zendesk コメントされた作業項目 チケットにプライベート コメントを作成します。
サービス サポートされているイベント サポートされているアクション
Azure Service Bus すべて Notification Hub、Service Bus キュー、または Service Bus トピックにメッセージを送信します。 サブスクリプションは、Azure アプリ サービスを通じて管理されます。
Azure ストレージ すべて ストレージ キューにメッセージを挿入します。
ビルドが完了し、コードがプッシュされた ビルドをキューに入れます。
Datadog すべて Datadog でイベントを投稿します。
Grafana リリース配置が完了しました Grafana データベースに注釈を追加します。
Jenkins ビルドが完了した、コードがプッシュされた、PR マージが試行された、リリースのデプロイが完了した ジェネリックビルドまたは Git ビルドをトリガーします。
Microsoft Teams すべて チャネルにメッセージを投稿します。 サブスクリプションはMicrosoft Teamsで管理されます。
Office 365 すべて グループにメッセージを投稿します。
Slack すべて チャネルにメッセージを投稿します。
Trello すべて カードまたはリストを作成します。
[UserVoice]((https://www.uservoice.com) 作業項目の作成、作業項目の更新 リンクされた作業項目イベントを送信します。 サブスクリプションは UserVoice を通じて管理されます。
Web フック すべて HTTP 経由で投稿します。
Zendesk コメントされた作業項目 チケットにプライベート コメントを作成します。

サブスクリプションの作成

これらのサービスのいずれかを Azure DevOps と統合する場合は、新しいサブスクリプションを作成する必要があります。 多くの場合、他のサービスでも何らかの構成を行う必要があります。 具体的な詳細については、関心のあるサービスの情報を確認してください。

  1. Web アクセスでプロジェクトの管理ページを開きます。

    強調表示されている [プロジェクト設定] ボタンのスクリーンショット。
  2. ウィザードを実行してサブスクリプションを作成します。

    強調表示されている [サブスクリプションの作成] ボタンのスクリーンショット。

  3. 統合するサービスを選択します。

    統合するサービスを選択する

  4. トリガーするイベントと、適用可能なフィルターを選択します。

    トリガーするイベントとフィルターを選択する

  5. ターゲット サービスで実行するアクションを選択します。

    Note

    使用可能なアクションの一覧は、選択したイベントの種類に基づいて制限される場合があります。

    ターゲット サービスのアクションの選択を示すスクリーンショット。

  6. 設定が正しいことを確認するには、サブスクリプションをテストし、ウィザードを終了します。

    テスト通知 1 を示すスクリーンショット。

    テスト通知 2 を示すスクリーンショット。

よく寄せられる質問

Q: サブスクリプションを設定するには、どのようなアクセス許可が必要ですか?

A: Edit subscriptions および View subscriptions。 既定では、プロジェクト管理者のみがこれらのアクセス許可を持っています。 他のユーザーに直接付与するには、コマンド ライン ツールまたは Security REST API を使用できます。

グループView権限を付与するには、「Service Hooks ページのグループに対するSet View権限を参照してください。

Q: Edit サブスクリプション および View サブスクリプション アクセス許可を付与すると、セキュリティにどのような影響がありますか。

A: これらのアクセス許可を持つユーザーは、プロジェクトで作成されたすべてのサブスクリプションと、それらのサブスクリプションの通知履歴を表示できます。 そのユーザーは、そのプロジェクトに任意の種類のサービス フック サブスクリプションを作成できます。 ユーザーがアクセス許可を持たないリソースのサブスクリプションを設定した場合、サブスクリプションはトリガーされません。

たとえば、領域パス XYZ の作業項目更新イベント用に作成したサブスクリプション 、それらの作業項目へのアクセス権がない場合、通知は送信されません。 ただし、それらの作業項目にアクセスできる他のユーザーの通知履歴を確認できます。

Q: プロジェクトのサービス フック サブスクリプションをプログラムで作成できますか。

回答: はい。 詳細については、「 サービス フック サブスクリプションの作成」を参照してください。

Q: アプリの承認後に組織へのアクセス権を削除することはできますか?

回答: はい。 プロファイルから承認を取り消すことができます。

  1. https://visualstudio.microsoft.com/からプロファイル ページに移動します。

    組織 (https://dev.azure.com/{orgName}) の代わりに Visual Studio サイト (https://visualstudio.microsoft.com/) から開始してください。組織からアクセスしたプロファイルによって、承認管理機能の不適切な実装が行われるためです。

  2. 承認を管理します。

    強調表示されている [アプリケーションの管理] ボタンを示すスクリーンショット。

  3. 許可しなくなった承認を取り消します。

    承認の [取り消し] オプションを示すスクリーンショット。

Q: HipChat のサービス フックを設定できないのはなぜですか?

A: Atlassian は HipChat のサポートを正式に廃止しました。 詳しくは、お知らせをご覧ください。