Azure Repos と Slack の連携
Azure DevOps Services
前提 条件
- リポジトリ関連のイベントのサブスクリプションを Slack チャネルに作成するには、プロジェクト管理者 グループのメンバーであるか、チーム管理者になります。 追加するには、「プロジェクト レベルのアクセス許可 を変更する」または「チーム管理者を追加する」を参照してください。
- 通知を受信するには、組織に対して OAuth を使用した
サード パーティ製アプリケーションアクセスを有効にする必要があります。 詳細については、「組織のアプリケーション アクセス ポリシーを変更する」を参照してください。
手記
- 現時点では、Slack 用の Azure Repos アプリを Azure DevOps Services でホストされているプロジェクトにのみリンクできます。
- 現在、ダイレクト メッセージ内では通知はサポートされていません。
Slack ワークスペースに Azure Repos アプリを追加する
Azure Repos Slack アプリ に移動し、[Slack に追加] を選択します。
追加すると、次のようなウェルカム メッセージが表示されます。
/azrepos
Slack ハンドルを使用してアプリを操作します。 コマンドの完全な一覧については、この記事の「コマンド リファレンス」セクションを参照してください。
Azure Repos アプリをリポジトリに接続する
/azrepos signin
コマンドを使用して Azure Repos に接続して認証します。[サインイン] をクリックします。
Azure Repos Slack 統合を承諾 します。
認証を完了するためにチャット アプリで使用するための確認コードが表示されます。
認証コードをコピーします。
[コード入力] を選択し、コードを貼り付けて、[送信] を選択します。
チャット内にサインインの確認が表示されます。
プロジェクト内のすべての 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 リポジトリの場合、チャネルはイベント 作成された
サブスクリプションの管理
チャネルのサブスクリプションを表示、追加、または削除するには、次の subscriptions
コマンドを使用します。
/azrepos subscriptions
このコマンドを実行すると、チャネルの現在のサブスクリプションがすべて一覧表示され、新しいサブスクリプションを追加したり、既存のサブスクリプションを削除したりできます。 サブスクリプションを追加するときに、次のセクションで説明するように、さまざまなフィルターを使用して取得する通知をカスタマイズできます。
手記
チーム管理者は、プロジェクト管理者によって作成されたサブスクリプションを削除または変更することはできません。
フィルターを使用してサブスクリプションをカスタマイズする
ユーザーが /azrepos subscribe
コマンドを使用してリポジトリにサブスクライブすると、既定のサブスクリプションが作成されます。 多くの場合、ユーザーはこれらのサブスクリプションをカスタマイズする必要があります。 たとえば、PR に特定の校閲者がいる場合にのみ通知を受け取る必要がある場合があります。
次の手順では、サブスクリプションをカスタマイズする方法を示します。
/azrepos subscriptions
コマンドを実行します。- サブスクリプションの一覧で、不要なサブスクリプションまたは変更する必要があるサブスクリプションがある場合 (例: チャネルにノイズを作成する)、[削除] ボタンを選択します。
- [サブスクリプション の追加] ボタンを選択します。
- 必要なリポジトリと目的のイベントを選択します。
- 適切なフィルターを選択します。
例: 自分のチームが PR の校閲者リストに含まれている場合にのみ通知を取得する
例: ポリシー違反が原因でマージの試行が失敗した場合に通知する
手記
- 通常、すべてのフィルターはドロップダウンです。 ただし、ドロップダウンに 100 を超える項目がある場合、ユーザーは値を手動で入力する必要があります。
- TFVC [コードのチェックイン] イベントの場合、[次のパスの下] フィルターの形式は
$/myproject/path
である必要があります。
プル要求 URL のプレビュー
ユーザーが PR の URL を貼り付けると、次の図のようなプレビューが表示されます。これは、PR 関連の会話をコンテキストに応じて正確に保つのに役立ちます。
ユーザーがサインインすると、この機能はワークスペース内のすべてのチャネルで機能します。
チャネルからサブスクリプションとリポジトリを削除する
リポジトリとサブスクリプションを削除してチャネルをクリーンアップするには、次のコマンドを使用します。
/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 を介したサードパーティのアプリケーションアクセスを有効にするには、
構成に失敗しました。 組織 '{organization name}' が存在し、十分なアクセス許可があることを確認してください。
ブラウザーを使用して https://aka.ms/VsSignout
に移動して、Azure DevOps からサインアウトします。
プライベートまたはシークレットのブラウザー ウィンドウを開き、https://aex.dev.azure.com/me
に移動してサインインします。 左側のプロファイル アイコンの下のドロップダウンで、サブスクライブするリポジトリを含む組織を含むディレクトリを選択します。
を含む組織を含むディレクトリを選択します。
/azrepos signout
コマンドを実行し、その後に /azrepos signin
コマンドを実行します。
[Sign in
] ボタンを選択すると、次の例のような同意ページにリダイレクトされます。 メールの横に表示されるディレクトリが、前の手順で選択したディレクトリと同じであることを確認します。 サインイン プロセスを受け入れて完了します。
これらの手順で認証の問題が解決しない場合は、Developer Communityまでお問い合わせください。
関連記事
- Azure Boards と Slack の統合
- Azure Pipelines と Slack を統合する
- Slack を使用してサービス フックを作成する