Slack を使用した Azure Repos

Azure DevOps Services

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

前提条件

Note

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

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

  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

Note

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

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

スクリーンショットは、デフォルトのサブスクリプション作成メッセージを示しています。

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

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

/azrepos subscriptions

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

Note

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

サブスクリプション リストのビューを示すスクリーンショット。

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

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

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

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

例: チームが PR のレビュー担当者リストに含まれている場合にのみ通知を受け取る

スクリーンショットでは、Reviewer に私のチームがあることが示されています。

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

スクリーンショットは、ポリシー違反のためマージ試行が失敗したことを示しています。

Note

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

pull request の 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] プロジェクト内の 1 つのリポジトリまたはすべてのリポジトリに通知をサブスクライブします
/azrepos subscriptions このチャネルのサブスクリプションを追加または削除する
/azrepos signin Azure Repos 組織にサインインする
/azrepos signout Azure Repos 組織からサインアウトする
/azrepos feedback 問題を報告するか、機能を提案する
/azrepos unsubscribe all [project url] (プロジェクトに属する) すべてのリポジトリとそれに関連付けられているサブスクリプションをチャネルから削除する

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

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

トラブルシューティング

Slack 用 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://slack.com に移動し、作業空間にサインインします (Web クライアントを使用)。 /azrepos signout コマンドを実行し、その後に /azrepos signin コマンドを実行します。

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

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

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