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

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

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

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

サービス フックのしくみ

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

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

サービス フックの図。

Note

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

利用可能なサービス

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

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

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

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

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

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

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

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

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

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

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

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

    Note

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

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

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

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

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

よく寄せられる質問

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

A: サブスクリプションを 編集し、 サブスクリプションを表示します。 既定では、プロジェクト管理者のみがこれらのアクセス許可を持っています。 他のユーザーに直接付与するには、コマンド ライン ツールまたは Security REST API を使用できます。

Q: サブスクリプションの編集とサブスクリプションの表示のアクセス許可を付与すると、セキュリティにどのような影響がありますか?

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

たとえば、 エリア パス XYZ の作業項目にアクセスできない場合、作業項目更新イベントのサブスクリプションを設定した場合、エリア パス XYZ の作業項目の更新に関する通知は表示されません。 ただし、エリア パス XYZ の作業項目にアクセスできる別のユーザーがこれらの "作業項目更新" イベントを受信した場合、他のユーザーのイベントの通知履歴が表示されます。これには、他のユーザーがアクセスできない作業項目データが含まれます。

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

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

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

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

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

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

  2. 承認を管理します。

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

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

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

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

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