次の方法で共有


Slack を使用して Azure DevOps のサービス フックを作成する

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

この記事では、完了したビルド、コードの変更、プル要求、リリース、作業項目の変更など、Azure DevOps 組織のイベントに応答して、 Slack にメッセージを投稿する方法について説明します。

Note

Azure DevOps Services の場合は、Slack と統合する機能を提供する次の一連のアプリを使用することをお勧めします。

Slack 用 Azure Boards アプリ

Slack 用の Azure Boards アプリ は、Slack チャネルから作業項目を簡単に作成して監視するのに役立ちます。 スラッシュ コマンドを使用して作業項目を作成したり、メッセージ アクションを使用してチャネル内の会話を作業項目に変換したりできます。 また、作業項目が作成または更新されるたびにチャネルで通知を受け取るようにサブスクリプションを設定および管理することもできます。

Slack 用 Azure Pipelines アプリ

Slack 用の Azure Pipelines アプリ は、パイプライン内のイベントを簡単に監視するのに役立ちます。 完成したビルド、リリース、保留中の承認などのサブスクリプションをアプリから設定および管理し、それらのチャネルでこれらのイベントの通知を取得できます。 チャネルからのリリースデプロイを承認することもできます。

Slack 用 Azure Repos アプリ

Slack 用の Azure Repos アプリ は、リポジトリ内のイベントを簡単に監視するのに役立ちます。 コード コミット、PR の作成と更新などのサブスクリプションを設定および管理し、それらのチャネルでこれらのイベントの通知を取得できます。

前提条件

Web フックを使用して Slack チャネルに情報をプッシュするプロセスについては、 Slack のドキュメント「受信 Webhook を使用したメッセージの送信 を参照してください。

Slack でカスタム アプリを作成する

  1. 新しい Slack アプリを作成するSlack アプリを作成する

  2. 受信 Web Hook をアクティブ化し、目的のワークスペースに新しい Web フックを追加する 受信 Web フックのスクリーンショット。

    Web フックの切り替えのスクリーンショット。

  3. Web フックを作成する必要があるチャネルを選択します。

    Web フックの作成のスクリーンショット。

  4. Web フック URL をコピーし、Azure DevOps に移動します。

組織内でサービス フック サブスクリプションを作成する

  1. プロジェクト Service Hooks ページに移動します。

    https://{orgName}/{project_name}/_settings/serviceHooks

    [プロジェクト管理] ページのスクリーンショット。

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

  2. Slack チャネルに表示するイベントの種類を選択します。

    各トリガーを特定の方法でフィルター処理できます。 たとえば、プル要求が発生するリポジトリ、適用先のブランチ要求の確認に必要なチーム メンバーまたは招待されたチーム メンバーで、作成されたプル要求、トリガーをフィルター処理します。

  3. 作成した Slack 統合から Web Hook URL を貼り付け、 Finish を選択します。

    Web フック URL を含む [アクション] ダイアログ ボックスのスクリーンショット。

    プロジェクトでイベントが発生すると、チームの Slack チャネルに通知が表示されます。

    Slack チャネルの通知を示すスクリーンショット。

よく寄せられる質問

Q: トリガーを構成するときに pull request イベントがオプションとして表示されないのはなぜですか?

A: プル要求は、Git を使用するプロジェクトでのみ使用できます。 プロジェクトで TFVC を使用している場合、プル イベント トリガーは使用できません。また、コード イベントは "Code pushed" ではなく "Code checked in" と呼ばれます。

Q: Slack チャネルに複数のイベントを表示するにはどうすればよいですか?

A: 必要なイベントの種類ごとに新しいサブスクリプションを作成します。 たとえば、Slack チャネルでビルドエラーと新しい作業項目を表示する場合は、さらに 2 つのサブスクリプションを作成します。