次の方法で共有


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

Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020

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

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

サービス フックのしくみ

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

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

パブリッシャー ボックスからサブスクリプション ボックスへの「イベント」とラベルされた矢印、およびサブスクリプション ボックスからコンシューマーおよびアクション ボックスへの矢印を示す図。

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

利用可能なサービス

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

サービス サポートされているイベント サポートされているアクション サブスクリプション管理
Visual Studio App Center 作業項目の更新 通知を送信する アプリセンター内で
AppVeyor プッシュされたコード AppVeyor ビルドをトリガーする AppVeyor で
Azuqua すべて フロー言語オブジェクト (FLO) にイベントを投稿する アズクアで
Azure App Service プッシュされたコード Web アプリをデプロイする App Service で
Azure Service Bus すべて Azure Notification Hubs、Service Bus キュー、または Service Bus トピックにメッセージを送信する Azure DevOps で
Azure ストレージ すべて ストレージ キューにメッセージを挿入する Azure DevOps で
ビルドの完了、コードのプッシュ ビルドをキューに登録する Azure DevOps で
Datadog すべて Datadog でイベントを投稿する Azure DevOps で
グラファナ リリース配置が完了しました Grafana データベースに注釈を追加する Azure DevOps で
ジェンキンス ビルドが完了し、コードがプッシュされ、PR マージが試行されました ジェネリックビルドまたは Git ビルドをトリガーする Azure DevOps で
Microsoft Teams すべて チャネルにメッセージを投稿する Teams 内で
MyGet ビルドの完了、コードのプッシュ NuGet パッケージを MyGet に発行し、MyGet ビルドをトリガーする MyGet で
Office 365 すべて グループにメッセージを投稿する Office 365 の場合
スラック すべて チャネルにメッセージを投稿する Azure DevOps で
Trello すべて カードまたはリストを作成する Azure DevOps で
UserVoice 作業項目の作成、作業項目の更新 リンクされた作業項目イベントを送信する UserVoice で
Webhook すべて HTTP 経由で要求を投稿する Azure DevOps で
Workplace メッセージング アプリ すべて 通知を送信する 職場のメッセージング アプリで
Zapier すべて 通知を送信する Zapier で
Zendesk 作業項目へのコメント チケットにプライベート コメントを作成する Azure DevOps で
サービス サポートされているイベント サポートされているアクション サブスクリプション管理
Azure Service Bus すべて Azure Notification Hubs、Service Bus キュー、または Service Bus トピックにメッセージを送信する Azure DevOps で
Azure ストレージ すべて ストレージ キューにメッセージを挿入する Azure DevOps で
ビルドの完了、コードのプッシュ ビルドをキューに登録する Azure DevOps で
Datadog すべて Datadog でイベントを投稿する Azure DevOps で
グラファナ リリース配置が完了しました Grafana データベースに注釈を追加する Azure DevOps で
ジェンキンス ビルドが完了し、コードがプッシュされ、PR マージが試行されました ジェネリックビルドまたは Git ビルドをトリガーする Azure DevOps で
Microsoft Teams すべて チャネルにメッセージを投稿する Teams 内で
Office 365 すべて グループにメッセージを投稿する Office 365 の場合
スラック すべて チャネルにメッセージを投稿する Azure DevOps で
Trello すべて カードまたはリストを作成する Azure DevOps で
UserVoice 作業項目の作成、作業項目の更新 リンクされた作業項目イベントを送信する UserVoice で
Webhook すべて HTTP 経由で要求を投稿する Azure DevOps で
Zendesk 作業項目へのコメント チケットにプライベート コメントを作成する Azure DevOps で

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

これらのサービスの 1 つを Azure DevOps と統合するには、サブスクリプションを作成します。 多くの場合、ターゲット サービスを構成する必要もあります。 詳細については、統合するサービスのドキュメントを参照してください。

  1. プロジェクトに移動し、[ プロジェクトの設定] を選択し、[ サービス フック] を選択します。

    Azure DevOps プロジェクトを示すスクリーンショット。側面では、プロジェクト設定とサービス フックが強調表示されています。

  2. [サブスクリプションの作成] を選択します。

    Azure DevOps プロジェクトの [サービス フック] ページのスクリーンショット。[サブスクリプションの作成] ボタンが強調表示されています。

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

    [サービス] ダイアログのスクリーンショット。多数のサービスが一覧表示され、Trello が選択され、Trello の説明が表示されます。

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

    [トリガー] ダイアログのスクリーンショット。Code プッシュ イベントが選択されています。フィルターは、リポジトリとグループに設定されます。

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

    使用可能なアクションは、選択したイベントの種類によって異なります。

    [アクション] ダイアログのスクリーンショット。カードの作成が選択されています。フィールドは、トークン、ボード、およびその他の設定を指定するために使用できます。

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

    [テスト通知] ウィンドウのスクリーンショット。[概要] タブで、プッシュに関するメッセージの状態が [成功] と表示されます。

    [テスト通知] ウィンドウのスクリーンショット。[要求] タブには、Trello への POST 要求と、プッシュされたコミットに関する情報が表示されます。

よく寄せられる質問

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

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

ビュー権限をグループに付与するには、「サービス フック内のグループのビュー権限を設定する」を参照してください。

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

A: サブスクリプションの編集サブスクリプションの表示 のアクセス許可を持つユーザーは、次のことができます。

  • プロジェクト内のすべてのサブスクリプションを表示します。
  • プロジェクト内のすべてのサブスクリプションの通知履歴を確認します。
  • プロジェクトに任意の種類のサービス フック サブスクリプションを作成します。

ユーザーがアクセス許可を持たないリソースのサブスクリプションを設定した場合、サブスクリプションはトリガーされません。

たとえば、特定のエリア パスの作業項目が更新されたときに通知を送信するサブスクリプションを作成するとします。 そのエリア パス内の作業項目にアクセスできない場合、通知は送信されません。 ただし、他のユーザーが作業項目にアクセスできる場合は、サブスクリプションの通知履歴を確認して、更新について警告することができます。

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

回答: はい。 詳細については、「 サービスをプログラムでフックするサービスを作成するを参照してください。

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

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

  1. https://visualstudio.microsoft.com にアクセスします。 プロファイル写真を選択し、 Visual Studio プロファイルを選択します。

    承認を管理するときは、必ず Visual Studio サイト ( https://visualstudio.microsoft.com) から開始してください。 そのサイトから、承認管理機能の正しい実装にアクセスできます。 組織から始めないでください (https://dev.azure.com/{organization-name})。

  2. [ 承認の管理] を選択します

    ユーザーの連絡先情報を含む Visual Studio プロファイル ページのスクリーンショット。[承認] セクションで、[アプリケーションの管理] が強調表示されています。

  3. 許可を解除する承認の取り消しを行います。

    [承認] ダイアログのスクリーンショット。アクセス許可の一覧が表示され、[取り消し] リンクが強調表示されています。

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

A: Atlassian は HipChat をサポートしなくなりました。 詳細については、「 Atlassian のよく寄せられる質問」を参照してください。