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 でカスタム アプリを作成する
新しい Slack アプリを作成する
受信 Web Hook をアクティブ化し、目的のワークスペースに新しい Web フックを追加する
Web フックを作成する必要があるチャネルを選択します。
Web フック URL をコピーし、Azure DevOps に移動します。
組織内でサービス フック サブスクリプションを作成する
プロジェクト Service Hooks ページに移動します。
https://{orgName}/{project_name}/_settings/serviceHooks
[サブスクリプションの作成] を選択します。
Slack チャネルに表示するイベントの種類を選択します。
各トリガーを特定の方法でフィルター処理できます。 たとえば、プル要求が発生するリポジトリ、適用先のブランチ要求の確認に必要なチーム メンバーまたは招待されたチーム メンバーで、作成されたプル要求、トリガーをフィルター処理します。
作成した Slack 統合から Web Hook URL を貼り付け、 Finish を選択します。
プロジェクトでイベントが発生すると、チームの Slack チャネルに通知が表示されます。
よく寄せられる質問
Q: トリガーを構成するときに pull request イベントがオプションとして表示されないのはなぜですか?
A: プル要求は、Git を使用するプロジェクトでのみ使用できます。 プロジェクトで TFVC を使用している場合、プル イベント トリガーは使用できません。また、コード イベントは "Code pushed" ではなく "Code checked in" と呼ばれます。
Q: Slack チャネルに複数のイベントを表示するにはどうすればよいですか?
A: 必要なイベントの種類ごとに新しいサブスクリプションを作成します。 たとえば、Slack チャネルでビルドエラーと新しい作業項目を表示する場合は、さらに 2 つのサブスクリプションを作成します。