次の方法で共有


Azure Repos と Slack の連携

Azure DevOps Services

Slackを使用する場合は、Slack 用の Azure Repos アプリを使用して、Azure Repos リポジトリを簡単に監視できます。 コードがプッシュまたはチェックインされたとき、およびプル要求 (PR) が作成、更新、またはマージされるたびに、チャネルで通知を受信するようにサブスクリプションを設定および管理します。 このアプリは、Git イベントと Team Foundation バージョン管理 (TFVC) イベントの両方をサポートしています。

前提 条件

  • リポジトリ関連のイベントのサブスクリプションを Slack チャネルに作成するには、プロジェクト管理者 グループのメンバーであるか、チーム管理者になります。 追加するには、「プロジェクト レベルのアクセス許可 を変更する」または「チーム管理者を追加する」を参照してください。
  • 通知を受信するには、組織に対して OAuth を使用した サード パーティ製アプリケーションアクセスを有効にする必要があります。 詳細については、「組織のアプリケーション アクセス ポリシーを変更する」を参照してください。

手記

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

Slack ワークスペースに Azure Repos アプリを追加する

  1. Azure Repos Slack アプリ に移動し、[Slack に追加] を選択します。

    Slack アプリ ディレクトリ、Azure Repos、ボタンのスクリーンショット。Slack に追加します。

    追加すると、次のようなウェルカム メッセージが表示されます。

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

  2. /azrepos Slack ハンドルを使用してアプリを操作します。 コマンドの完全な一覧については、この記事の「コマンド リファレンス」セクションを参照してください。

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

  1. /azrepos signin コマンドを使用して Azure Repos に接続して認証します。

    Slack のサインイン プロンプトのスクリーンショット。

  2. [サインイン] をクリックします。

  3. Azure Repos Slack 統合を承諾 します。

    サインイン画面の [同意] ボタンのスクリーンショット。

    認証を完了するためにチャット アプリで使用するための確認コードが表示されます。

  4. 認証コードをコピーします。

    Azure Repos によって提供される検証コードのスクリーンショット。

  5. [コード入力] を選択し、コードを貼り付けて、[送信] を選択します。

    確認コードが貼り付けられ、[送信] ボタンが選択されている場合の最終認証画面のスクリーンショット。

    チャット内にサインインの確認が表示されます。

    チャットでのサインイン確認のスクリーンショット。

プロジェクト内のすべての Git リポジトリの監視を開始するには、チャネル内で次のスラッシュ コマンドを使用します。

/azrepos subscribe [project url]

プロジェクトの URL は、プロジェクト内の任意のページに設定できます (リポジトリへの URL を除く)。 例えば:

/azrepos subscribe https://dev.azure.com/myorg/myproject/

次のコマンドを使用して、特定のリポジトリを監視することもできます。

/azrepos subscribe [repository url]

リポジトリの URL は、リポジトリ名を持つリポジトリ内の任意のページに設定できます。 たとえば、Git リポジトリの場合は、次を使用します。

/azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository

TFVC リポジトリの場合は、次を使用します。

/azrepos subscribe https://dev.azure.com/myorg/myproject/_versionControl

手記

サブスクライブできるのはパブリック リポジトリのみです。

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

スクリーンショットには、既定のサブスクリプション作成メッセージが表示されます。

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

チャネルのサブスクリプションを表示、追加、または削除するには、次の subscriptions コマンドを使用します。

/azrepos subscriptions

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

手記

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

サブスクリプションの一覧の表示を示すスクリーンショット。

フィルターを使用してサブスクリプションをカスタマイズする

ユーザーが /azrepos subscribe コマンドを使用してリポジトリにサブスクライブすると、既定のサブスクリプションが作成されます。 多くの場合、ユーザーはこれらのサブスクリプションをカスタマイズする必要があります。 たとえば、PR に特定の校閲者がいる場合にのみ通知を受け取る必要がある場合があります。

次の手順では、サブスクリプションをカスタマイズする方法を示します。

  1. /azrepos subscriptions コマンドを実行します。
  2. サブスクリプションの一覧で、不要なサブスクリプションまたは変更する必要があるサブスクリプションがある場合 (例: チャネルにノイズを作成する)、[削除] ボタンを選択します。
  3. [サブスクリプション の追加] ボタンを選択します。
  4. 必要なリポジトリと目的のイベントを選択します。
  5. 適切なフィルターを選択します。

例: 自分のチームが PR の校閲者リストに含まれている場合にのみ通知を取得する

のスクリーンショットは、レビュー担当者に自分のチームがあることを示しています。

例: ポリシー違反が原因でマージの試行が失敗した場合に通知する

スクリーンショットは、ポリシー違反によるマージ試行の失敗を示しています。

手記

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

プル要求 URL のプレビュー

ユーザーが PR の URL を貼り付けると、次の図のようなプレビューが表示されます。これは、PR 関連の会話をコンテキストに応じて正確に保つのに役立ちます。

スクリーンショットには、URL の展開が示されています。

ユーザーがサインインすると、この機能はワークスペース内のすべてのチャネルで機能します。

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

リポジトリとサブスクリプションを削除してチャネルをクリーンアップするには、次のコマンドを使用します。

/azrepos unsubscribe all [project url]

たとえば、次のコマンドは、プロジェクト内の任意のリポジトリに関連するすべてのサブスクリプションを削除し、チャネルからリポジトリを削除します。 このコマンドを実行できるのは、プロジェクト管理者だけです。

/azrepos unsubscribe all https://dev.azure.com/myorg/myproject

コマンド リファレンス

次の表に、Slack チャネルで使用できるすべての /azrepos commands を示します。

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

プライベート チャネルでの通知

Azure Repos アプリは、プライベート チャネルのリポジトリ イベントを監視するのにも役立ちます。 /invite @azreposを使用して、ボットをプライベート チャネルに招待します。 その後、パブリック チャネルの場合と同じ方法で通知を管理できます。

トラブルシューティング

Azure Repos App for Slackを使用しているときに次のエラーが発生する場合は、このセクションの手順に従います。

申し訳ございません。問題が発生しました。 もう一度お試しください。

Azure Repos アプリは OAuth 認証プロトコルを使用しており、組織 にて OAuth を介したサードパーティのアプリケーションアクセスを有効にするには、が必要です。 この設定を有効にするには、[組織の設定] [セキュリティポリシー]に移動し、組織 の OAuth を使用した サード パーティアプリケーションのアクセスを [時に ] に設定します。

組織の設定に対して OAuth を使用してサード パーティのアプリケーション アクセスを有効にする

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

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

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

プロジェクト を含む組織を含むディレクトリを選択します。

同じブラウザーで、新しいタブを開始し、に移動して、作業空間にサインインします (Web クライアントを使用)。 /azrepos signout コマンドを実行し、その後に /azrepos signin コマンドを実行します。

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

スクリーンショットには、要求されたアプリのアクセス許可への同意が示されています。

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

  • Azure Boards と Slack の統合
  • Azure Pipelines と Slack を統合する
  • Slack を使用してサービス フックを作成する