Microsoft Teams と共に Azure Repos を使用する

Azure DevOps Services

Microsoft Teams と Azure Repos を使用している場合は、Teams 用の Azure Repos アプリを使用してリポジトリを監視できます。 このアプリでは、Git リポジトリと Team Foundation バージョン管理 (TFVC) リポジトリの両方の監視がサポートされていますが、GitHub リポジトリとの統合はサポートされていません。

この記事では、次のタスクを行う方法について説明します。

  • Azure Repos アプリを Microsoft Teams のチームに追加する
  • Azure Repos アプリをリポジトリに接続する
  • チャネル内のリポジトリ関連イベントへのサブスクリプションを管理する
  • Compose 拡張機能を使用して PR 情報を検索および共有する
  • PR URL をプレビューする
  • チャネルからサブスクリプションとリポジトリを削除する

前提条件

  • サブスクリプションを管理して、コードがプッシュまたはチェックインされたとき、または pull request (PR) が作成、更新、またはマージされたときに、チャネルで通知を受け取るようにします。 リポジトリ関連のイベントのサブスクリプションを作成するには、プロジェクト管理者グループのメンバーであるか、チーム管理者である必要があります。 追加するには、「プロジェクト レベルのアクセス許可を変更する」または「チーム管理者を追加する」を参照してください。
  • 通知を受け取るために、Azure DevOps 組織に対する [OAuth を使用したサード パーティ アプリケーションのアクセス] を有効にします。 組織のアプリケーション アクセス ポリシーの変更に関する記事を参照してください。

注意

  • 通知は、現在、ダイレクト メッセージ内ではサポートされていません。
  • Microsoft Teams 用の Azure Repos アプリは、Azure DevOps Services でホストされているプロジェクトにのみリンクできます。

Azure Repos アプリを Microsoft Teams のチームに追加する

  1. Microsoft Teams で Azure Repos アプリに移動します (Microsoft Teams > [Azure Repos])。

  2. [追加] を選択するか、アプリを既にダウンロードしている場合は、[開く] の横にあるドロップダウン メニューを選択し、[Add to a team](チームに追加) を選択します。

  3. チームまたはチャネル名を入力し、[Set up a bot](ボットの設定) を選択します。

    Teams の Azure Repos からのウェルカム メッセージのスクリーンショット。

Azure Repos アプリをリポジトリに接続する

  1. チームにアプリがインストールされたら、返信フィールドに次のテキストを入力します。 @azure repos signin

    Microsoft Teams と Azure Boards が異なるテナントにある場合は、[Sign in with different email](別のメール アドレスでサインインする) を選択します。

    Azure Repos の Teams サインイン エントリを示すスクリーンショット。

    サインイン完了の応答を示すスクリーンショット。

  2. プロジェクト内のすべての Git リポジトリを監視するには、チャネルに「@azure repos subscribe [project url]」と入力します。 プロジェクトの URL を必ず追加してください。 プロジェクトの URL は、プロジェクト内の任意のページに設定できます (リポジトリへの URL を除く)。

    また、@azure repos subscribe [repo url] を使用して特定のリポジトリを監視することもできます。

    リポジトリの URL は、リポジトリ名を持つリポジトリ内の任意のページに設定できます (例: @azure repos subscribe https://dev.azure.com/myorg/myproject/_git/myrepo、または TFVC リポジトリの場合: @azure repos subscribe https://dev.azure.com/myorg/myproject/_versionControl)。

  3. subscribe コマンドを使用すると、既定のサブスクリプションの使用を開始できます。 Git リポジトリの場合、チャネルは [Pull request が作成されました] イベント (ターゲット ブランチ = main) にサブスクライブされます。 TFVC リポジトリの場合、チャネルは[コードのチェックイン] イベントにサブスクライブされます。

    既定のサブスクリプション作成メッセージを示すスクリーンショット。

サブスクリプションの管理

チャネルのサブスクリプションを表示、追加、および削除するには、次のテキストを入力します: @azure repos subscriptions

チャネルの現在のすべてのサブスクリプションの一覧が表示され、新しいサブスクリプションを追加したり、既存のサブスクリプションを削除したりできます。 次のセクションで説明するように、さまざまなフィルターを使用して通知をカスタマイズします。

注意

チーム管理者は、プロジェクト管理者によって作成されたサブスクリプションを削除または変更することはできません。

サブスクリプションを表示する

フィルターを使用して必要な通知のみを取得する

@azure repos subscribe を使用してリポジトリをサブスクライブすると、フィルターが適用されていない既定のサブスクリプションが作成されます。 多くの場合、ユーザーは特定の条件が満たされた場合にのみ通知されるように、これらのサブスクリプションをカスタマイズする必要があります。 次のスクリーンショットは、チームが PR のレビュー担当者リストに含まれている場合にのみ通知を設定する例を示しています。

  1. チャネルに次のテキストを入力します: @azure repos subscriptions

  2. サブスクリプションの一覧で、不要なサブスクリプションまたは変更する必要があるサブスクリプションがある場合は、[削除] を選択して削除します。

  3. [サブスクリプションの追加] ボタンを選択します。

  4. イベントの種類を選択し、[次へ] を選択します。

    イベントの種類の選択を示すスクリーンショット。

  5. リポジトリを選択し、[次へ] を選択します。

    リポジトリの選択を示すスクリーンショット。

  6. サブスクリプションをカスタマイズするための適切なフィルターを選択し、[送信] を選択します。

    選択したフィルターを示すスクリーンショット。

注意

  • 通常、すべてのフィルターはドロップダウンです。 ただし、ドロップダウンの項目数が 100 を超える場合は、値を手動で入力する必要があります。
  • TFVC [コードのチェックイン] イベントの 場合、フィルター [次のパスの下] の形式は $/myproject/path である必要があります。

Compose 拡張機能を使用して pull request 情報を検索および共有する

ユーザーが pull request に関する情報を検索して共有できるように、Microsoft Teams 用 Azure Repos アプリでは Compose 拡張機能がサポートされています。 pull request は、ID または名前で検索できます。 拡張機能を機能させるには、「@azure repos signin」と入力するか、Compose 拡張機能に直接サインインして、Azure Repos プロジェクトにサインインします。

Compose 拡張機能を示すスクリーンショット。

pull request の URL をプレビューする

PR の URL を貼り付けると、次の画像のようなプレビューが表示され、PR 関連の会話のコンテキストと正確性を維持するのに役立ちます。 サインインする必要があります。その後、チーム内のすべてのチャネルの URL の PR をプレビューできます。

URL の展開を示すスクリーンショット。

チャネルからサブスクリプションとリポジトリを削除する

プロジェクト内のリポジトリに関連するすべてのサブスクリプションを削除し、チャネルからリポジトリを削除するには、Teams に次のテキストを入力します @azure repos unsubscribe all [project url]。 必ずプロジェクトの URL を入力してください。 このタスクを実行できるのは、プロジェクト管理者だけです。

スレッド通知

関連する一連の通知をリンクし、チャネル内の通知が占める領域を減らすために、通知はスレッド化されます。 特定の pull request にリンクされているすべての通知が一緒にリンクされます。

スレッド通知のコンパクト ビューコンパクトなスレッド通知のビューを示すスクリーンショット。

スレッド通知の展開ビュースレッド通知の展開ビューを示すスクリーンショット。

コマンド リファレンス

次の表に、Teams チャネルで使用できるすべての azure repos コマンドを示します。

コマンド 機能
@azure repos subscribe [repo url/ project url] 通知を受け取るために、プロジェクト内の 1 つのリポジトリまたはすべてのリポジトリをサブスクライブする
@azure repos subscriptions このチャネルのサブスクリプションを追加または削除する
@azure repos signin Azure DevOps 組織にサインインする
@azure repos signout Azure Repos 組織からサインアウトする
@azure repos feedback 問題を報告するか、機能を提案する
@azure repos unsubscribe all [project url] (プロジェクトに属する) すべてのリポジトリとそれに関連付けられているサブスクリプションをチャネルから削除する

マルチテナントのサポート

Microsoft Teams と Azure DevOps に別のメール アドレスまたはテナントを使用している場合は、ユース ケースに基づいて、以下の手順を実行してサインインします。

使用事例 メール ID + Microsoft Teams テナント メール ID + Azure DevOps テナント 手順
1 email1@abc.com (テナント 1) email1@abc.com (テナント 1) [サインイン] をクリックします。
2 email1@abc.com (テナント 1) email1@abc.com (テナント 2) Azure DevOps にサインインします。 同じブラウザーで、新しいタブを開始し、https://teams.microsoft.com/ に移動します。 signin コマンドを実行し、[サインイン] を選択します。
3 email1@abc.com (テナント 1) email2@pqr.com (テナント 2) [Sign in with different email address](別のメール アドレスでサインインする) を選択し、メール ID ピッカーで email2 を使用して Azure DevOps にサインインします。
4 email1@abc.com (テナント 1) email2@pqr.com (既定以外のテナント 3) このシナリオはサポートされていません。

トラブルシューティング

Azure Repos アプリを使用しているときに次のエラーが発生する場合は、このセクションの手順に従ってください。

申し訳ございません。問題が発生しました。 もう一度やり直してください。

Azure Repos アプリは OAuth 認証プロトコルを使用しているため、[Third-party application access via OAuth for the organization](組織の OAuth を使用したサードパーティ アプリケーションのアクセス) を有効にする必要があります。 この設定を有効にするには、[組織の設定]>[セキュリティ]>[ポリシー] の順に移動し、[Third-party application access via OAuth for the organization](組織の OAuth を使用したサードパーティ アプリケーションのアクセス)[オン] に設定します。

[Third-party application access via OAuth for the organization](組織の OAuth を使用したサードパーティ アプリケーションのアクセス) 設定を有効にする

構成に失敗しました。 組織 '{組織名}' が存在し、十分なアクセス許可があることを確認してください

ブラウザーを使用して https://aka.ms/VsSignout に移動し、Azure DevOps からサインアウトします。

プライベートまたはシークレットのブラウザー ウィンドウを開き、https://aex.dev.azure.com/me に移動してサインインします。 左側のプロファイル アイコンの下のドロップダウンで、サブスクライブするリポジトリを含む組織が含まれるディレクトリを選択します。

プロジェクトを含む組織が含まれるディレクトリを選択する

同じブラウザーで、新しいタブを開始し、https://teams.microsoft.com/ にサインインします。 @Azure Repos signout コマンドを実行し、Microsoft Teams 用 Azure Repos アプリがインストールされているチャネルで @Azure Repos signin コマンドを実行します。

Sign in ボタンを選択すると、次の例のような同意ページにリダイレクトされます。 メール アドレスの横に表示されるディレクトリが、前の手順で選択したディレクトリと同じであることを確認します。 サインイン プロセスを受け入れて完了します。

要求されたアプリのアクセス許可への同意

これらの手順で認証の問題が解決しない場合は、Developer Community にお問い合わせください。