【Teams】Azure DevOps連携でビルド結果をチャネルに通知する手順

【Teams】Azure DevOps連携でビルド結果をチャネルに通知する手順
🛡️ 超解決

Teams会議の通知やファイル共有は日常的に行っているでしょう。しかし、開発プロジェクトの進捗状況をリアルタイムで把握したい場合、TeamsとAzure DevOpsを連携させることが非常に有効です。Azure DevOpsでのビルドが成功したか失敗したかをTeamsチャネルに自動通知できれば、開発チーム全体の状況認識が向上します。この記事では、Azure DevOpsのビルド結果をTeamsチャネルに通知する具体的な設定手順を解説します。この設定により、開発のボトルネックを早期に発見し、迅速な対応が可能になります。

【要点】TeamsとAzure DevOpsを連携しビルド結果を通知する

  • Teamsでコネクタを設定する: Azure DevOpsからの通知を受け取るTeamsチャネルにコネクタを追加します。
  • Azure DevOpsでサービスフックを設定する: ビルド完了イベントをTeamsコネクタに送信するように設定します。
  • 通知内容を確認・調整する: どのような情報がTeamsに通知されるかを確認し、必要に応じて調整します。

ADVERTISEMENT

TeamsチャネルでAzure DevOpsのビルド結果を受け取る仕組み

TeamsでAzure DevOpsのビルド結果を受け取るには、主に2つのサービス間の連携が必要です。まず、Teamsチャネル側で外部からの通知を受け付けるための「コネクタ」を設定します。次に、Azure DevOps側で「サービスフック」という機能を利用して、特定のイベント(この場合はビルドの完了)が発生した際に、Teamsチャネルに設定したコネクタへ情報を送信するように構成します。これにより、Azure DevOpsでのビルドプロセスが完了すると、その結果が自動的にTeamsチャネルに表示されるようになります。

この連携は、開発チームと関係者が、コードの変更がビルドにどのような影響を与えたかを素早く把握するために役立ちます。特に、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインを運用している場合、ビルドの成否はプロジェクトの健全性を示す重要な指標となります。これらの情報をTeamsに集約することで、チームメンバーは必要な情報にアクセスしやすくなり、コミュニケーションの効率化にも繋がります。

お探しの解決策が見つからない場合は、こちらの「Teams/Outlookトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

TeamsチャネルにAzure DevOpsコネクタを追加する手順

まず、通知を受け取りたいTeamsチャネルにAzure DevOpsからの情報を受け取るためのコネクタを追加します。この作業は、Teamsのチャネル管理者権限があれば実行できます。

  1. Teamsチャネルを開く
    通知を受け取りたいTeamsチャネルを選択します。
  2. チャネル設定を開く
    チャネル名の横にある「…」(その他のオプション)をクリックし、「チャネルの管理」を選択します。
  3. コネクタを選択する
    チャネルの管理画面で「コネクタ」タブをクリックします。
  4. Azure DevOpsを検索・選択する
    利用可能なコネクタの一覧から「Azure DevOps」を検索し、表示されたら「追加」ボタンをクリックします。
  5. 設定を開始する
    追加ボタンをクリックすると、Azure DevOpsの構成画面が表示されます。ここで「構成」ボタンをクリックします。
  6. 通知の種類を選択する
    Azure DevOpsのサービスフック設定画面に遷移します。ここで、Teamsチャネルに通知したいイベントの種類を選択します。ビルド結果を通知したい場合は、「Build completed」を選択します。
  7. 通知内容をカスタマイズする
    通知するビルドの種類(例: CIビルド、PRビルド)や、通知するブランチなどを指定できます。必要に応じてフィルターを設定します。
  8. Teamsへの通知を有効にする
    設定を保存し、Teamsチャネルへの通知を有効にします。

この手順で、TeamsチャネルにAzure DevOpsからのビルド通知を受け取る準備が整いました。次に、Azure DevOps側でこのコネクタを呼び出すための設定を行います。

Azure DevOpsでサービスフックを設定する手順

Teamsチャネルにコネクタを追加したら、次はAzure DevOps側でビルド完了イベントを検知し、Teamsコネクタに送信するためのサービスフックを設定します。この作業は、Azure DevOpsプロジェクトの管理者権限が必要です。

  1. Azure DevOpsプロジェクトを開く
    通知を設定したいAzure DevOpsプロジェクトにアクセスします。
  2. プロジェクト設定を開く
    画面左下の「Project settings」(プロジェクト設定)をクリックします。
  3. サービスフックを選択する
    プロジェクト設定メニューの中から「Service Hooks」(サービスフック)を選択します。
  4. 新しいサブスクリプションを作成する
    「Create subscription」(サブスクリプションの作成)ボタンをクリックします。
  5. サービスの種類を選択する
    連携するサービスの一覧が表示されます。「Web Hooks」を選択します。
  6. トリガーイベントを選択する
    「Trigger on this type of event」で、「Build completed」(ビルド完了)を選択します。
  7. ビルドフィルターを設定する(任意)
    特定のビルドパイプラインやブランチからの通知のみを受け取りたい場合は、「Builds」や「Branch」でフィルターを設定できます。
  8. アクションを設定する
    「Then do this」(次に実行するアクション)で、「Post to URL」(URLに投稿)を選択します。
  9. TeamsコネクタのURLを入力する
    URLフィールドに、Teamsチャネルで取得したAzure DevOpsコネクタのURLを入力します。このURLは、Teamsのコネクタ設定時に表示されるものです。
  10. HTTPメソッドとヘッダーを設定する
    HTTPメソッドは「POST」を選択します。必要に応じて、カスタムヘッダーを設定することもできますが、通常は不要です。
  11. テスト投稿を行う
    「Test」ボタンをクリックして、Teamsチャネルにテストメッセージが送信されるか確認します。
  12. サブスクリプションを保存する
    設定が正しければ、「Finish」(完了)ボタンをクリックしてサブスクリプションを保存します。

これで、Azure DevOpsでビルドが完了するたびに、その結果がTeamsチャネルに通知されるようになります。通知内容には、ビルドの成否、ビルド番号、担当者、コミット情報などが含まれます。

ADVERTISEMENT

通知内容の確認とカスタマイズ

サービスフックの設定後、実際にビルドを実行してTeamsチャネルに通知が届くか確認しましょう。通知メッセージは、デフォルトで基本的なビルド情報を含んでいますが、必要に応じてカスタマイズすることも可能です。

通知される情報の種類

デフォルトの通知には、以下の情報が含まれることが一般的です。

  • ビルドステータス(成功、失敗、キャンセルなど)
  • ビルドパイプライン名
  • ビルド番号
  • ビルドを実行したユーザー
  • コミット情報(コミットID、コミットメッセージ、コミットしたユーザー)
  • ビルド時間
  • ビルドログへのリンク

通知内容をカスタマイズする方法

Azure DevOpsのサービスフックで「Web Hooks」を選択した場合、投稿するURLとしてTeamsコネクタのURLを指定することで、送信されるJSONペイロードをある程度制御できます。より詳細なカスタマイズを行うには、Azure DevOpsのパイプライン定義内で、ビルド完了時にカスタムスクリプトを実行し、TeamsのIncoming Webhook URLに対して、整形したメッセージを送信する方法があります。

例えば、PowerShellスクリプトを使用して、ビルド結果のサマリーを作成し、それをTeamsのIncoming Webhookに送信することで、よりリッチな通知を作成できます。これには、Azure DevOpsのパイプラインエディタで「PowerShell」タスクを追加し、スクリプト内でビルド変数(例: Build.BuildStatus, Build.BuildNumber)を取得し、JSON形式でTeamsのWebhook URLにPOSTリクエストを送信します。

この高度なカスタマイズは、開発チームの特定のニーズに合わせて、通知情報を最適化したい場合に有効です。例えば、特定のテストが失敗した場合にのみ、詳細なエラー情報を通知するといった設定も可能になります。

新しいTeams(v2)と従来Teamsの違い

新しいTeams(v2)では、UIやパフォーマンスが改善されていますが、Teamsコネクタの基本的な機能や設定方法は、従来Teamsと大きくは変わっていません。Azure DevOpsのコネクタ設定やサービスフックの設定手順も、基本的には同じです。ただし、新しいTeamsでは、アプリの統合やカスタマイズのオプションが増えているため、将来的にさらにリッチな通知やインタラクティブなアクションをTeams内で直接実行できるようになる可能性があります。

新しいOutlookと従来Outlookでの注意点

この設定はTeamsチャネルへの通知に関するものであり、Outlookの機能とは直接関係ありません。しかし、TeamsとOutlookはMicrosoft 365の主要なアプリケーションであり、連携して利用されることが多いです。Azure DevOpsのビルド結果通知をTeamsで受け取ることで、開発チームの進捗状況が把握しやすくなり、結果としてOutlookでのコミュニケーションやタスク管理もより効率化されることが期待できます。

Mac版・モバイル版・Web版での違い

Teamsのコネクタ設定は、Windows版、Mac版、Web版のTeamsクライアントでほぼ同様の手順で行えます。モバイル版Teamsアプリでも、チャネルの設定からコネクタを追加する操作は可能ですが、UIが異なる場合があります。Azure DevOps側のサービスフック設定は、Webブラウザからアクセスするため、OSに依存しません。

管理者権限について

Teamsチャネルへのコネクタ追加は、そのチャネルの所有者またはメンバー(設定による)が行えます。Teams全体のコネクタ設定を管理するには、Teams管理者権限が必要な場合があります。Azure DevOpsのサービスフック設定には、プロジェクト管理者権限が必要です。これらの権限がない場合は、組織のIT管理者にご相談ください。

組織ポリシー・テナント設定による影響

組織によっては、セキュリティポリシーやコンプライアンス上の理由から、外部サービスとの連携(コネクタやサービスフックの利用)が制限されている場合があります。Teamsのコネクタ設定やAzure DevOpsのサービスフック設定がうまくいかない場合は、組織のMicrosoft 365管理者またはAzure DevOps管理者に、関連するポリシー設定を確認してください。特に、Webフックの送信が許可されていない場合や、特定のURLへのアクセスがブロックされている場合は、この連携は機能しません。

まとめ

この記事では、Microsoft TeamsチャネルでAzure DevOpsのビルド結果をリアルタイムに通知するための設定手順を解説しました。Teamsチャネルにコネクタを追加し、Azure DevOpsのサービスフックを設定することで、開発プロセスの透明性を高めることができます。この連携により、ビルドの成否を迅速に把握し、問題発生時の対応を早めることが可能になります。次に、実際にビルドを実行して通知が正しく届くか確認し、必要に応じて通知内容のカスタマイズを検討してみてください。

👥
Teams/Outlookトラブル完全解決データベース サインイン、接続エラー、メール送受信の不具合など、特有のトラブル解決策を網羅。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
🌐

超解決 リモートワーク研究班

Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。