Slack で Azure Pipelines を使用する
Azure DevOps Services
Slack 用 Azure Pipelines アプリを使用すると、Slack ユーザーはパイプライン内で発生したイベントを簡単に追跡できます。 このアプリを使用すると、ユーザーは、ビルド、リリース、承認保留中など、さまざまなパイプライン イベントについてサブスクリプションを確立して監視できます。 これらのイベントの通知は、ユーザーの Slack チャンネルに直接配信されます
注意
この機能は、Azure DevOps Services でのみ使用できます。 通常、新しい機能は最初にクラウド サービスで導入されてから、Azure DevOps Server の次のメジャー バージョンまたは更新プログラムでオンプレミスで使用できるようになります。 詳細については、「Azure DevOps 機能タイムライン」を参照してください。
前提条件
- Slack では、Slack ワークスペースにアプリをインストールするためのアクセス許可が必要です。
- Azure DevOps の場合、Slack サブスクリプションを設定するには、プロジェクト コレクション管理者グループまたは プロジェクト管理者グループに属している必要があります。
Azure Pipelines アプリのインストール
Azure Pipelines Slack アプリに移動して、Slack ワークスペースに Azure Pipelines アプリをインストールします。 追加すると、アプリからのウェルカム メッセージが次のように表示されます。 /azpipelines
ハンドルを使用して、アプリの操作を開始します。
パイプラインに接続する
アプリが Slack ワークスペースにインストールされたら、監視する任意のパイプラインにアプリを接続できます。 コマンドを実行する前に、Azure Pipelines に対する認証を求められます。
プロジェクト内のすべてのパイプラインの監視を開始するには、チャンネル内で次のスラッシュ コマンドを使用します。
/azpipelines subscribe [project url]
プロジェクト URL は、プロジェクト内の任意のページ (パイプラインへの URL を除く) にリンクできます。 例: /azpipelines subscribe https://dev.azure.com/myorg/myproject/
次のコマンドを使用して、特定のパイプラインを監視することもできます。
/azpipelines subscribe [pipeline url]
パイプライン URL は、URL に definitionId
または buildId/releaseId
が含まれているパイプライン内の任意のページにリンクできます。 例: /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123 、または /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases
subscribe コマンドを使用すると、既定でいくつかのサブスクリプションを使い始めることができます。 次のパイプラインの種類で有効になっている既定の通知を以下に示します。
ビルド パイプライン | リリース パイプライン | YAML パイプライン |
---|---|---|
"ビルド完了" 通知 | "リリース デプロイの開始"、"リリース デプロイの完了"、"リリース デプロイの承認の保留中" の各通知 | "実行ステージの状態の変更" と "実行ステージが承認待ち" の各通知 |
サブスクリプションの管理
チャンネルのサブスクリプションを管理するには、次のコマンドを使用します: /azpipelines subscriptions
このコマンドを使用すると、チャンネルの現在のサブスクリプションがすべて一覧表示され、サブスクリプションを追加または削除できます。
注意
チーム管理者は、プロジェクト管理者によって作成されたサブスクリプションを削除または変更することはできません。
サブスクリプションのカスタマイズ
既定では、パイプラインをサブスクライブすると、フィルターが適用されていない複数のサブスクリプションが生成されます。 ただし、ユーザーが好みに合わせてこれらのサブスクリプションをカスタマイズするのが一般的です。 たとえば、ユーザーが通知を受け取るのを、ビルドが失敗した場合または運用環境へのデプロイが行われた場合に限定することができます。 Azure Pipelines アプリにはフィルターを適用するオプションが用意されており、ユーザーは自分のチャンネルで受信するメッセージをカスタマイズできます。 サブスクリプションをカスタマイズするには:
/azpipelines subscriptions
コマンドを実行して、すべてのサブスクリプションを一覧表示します。[サブスクリプションの追加] を選択します。
サブスクライブするイベントを選択し、目的の構成を選択します。
完了したら、 [保存] を選択します。
例: 失敗したビルドについてのみ通知を受け取る
デプロイの承認
"リリース デプロイの承認の保留中" 通知 (クラシック リリース) または "実行ステージが承認待ち" 通知 (YAML パイプライン) をサブスクライブすることで、Azure Pipelines ポータルに移動せずに Slack チャンネル内からデプロイを承認できます。 どちらのサブスクリプションも、パイプラインをサブスクライブするときに既定で作成されます。
Slack 用 Azure Pipelines アプリを使用すると、Azure Pipelines ポータルで使用できるすべてのチェックと承認シナリオを処理できます。 これには、単一の承認者、複数の承認者、チームベースの承認が含まれます。 要求を個別に承認するか、チームの代理として承認するかを選択できます。
すべてのサブスクリプションを削除する
チャンネルを減らすために、次のコマンドを使用してプロジェクト内のすべてのパイプラインのサブスクライブを解除できます。 例: /azpipelines unsubscribe all https://dev.azure.com/myorg/myproject。
/azpipelines unsubscribe all [project url]
重要
このコマンドを実行できるのはプロジェクト管理者だけです。
コマンド リファレンス
Slack 用 Azure Pipelines アプリでサポートされているすべてのコマンドを次に示します。
スラッシュ コマンド | 機能 |
---|---|
/azpipelines subscribe [pipeline url/ project url] | プロジェクト内の 1 つのパイプラインまたはすべてのパイプラインをサブスクライブして通知を受信する |
/azpipelines subscriptions | このチャンネルのサブスクリプションを追加または削除する |
/azpipelines feedback | 問題を報告するか、機能を提案する |
/azpipelines help | スラッシュ コマンドのヘルプを表示する |
/azpipelines signin | Azure Pipelines アカウントにサインインする |
/azpipelines signout | Azure Pipelines アカウントからサインアウトする |
/azpipelines unsubscribe all [project url] | (プロジェクトに属する) すべてのパイプラインとそれに関連付けられているサブスクリプションをチャンネルから削除する |
プライベート チャンネルでの通知
Azure Pipelines アプリは、プライベート チャンネルでのパイプライン アクティビティの監視にも役立ちます。 ボットをプライベート チャンネルに招待するには、/invite @azpipelines
を使用する必要があります。 ボットが追加されたら、パブリック チャンネルの場合と同じ方法で通知を構成および制御できます。
注意
- Slack 用の Azure Pipelines アプリは、現時点では Azure DevOps Services でホストされているプロジェクトでのみ使用できます。
- サブスクリプションを設定するには、パイプラインが含まれているプロジェクトの管理者である必要があります
- 通知は、現在、ダイレクト メッセージ内ではサポートされていません
- [承認を完了する前に承認者の ID を再検証する] ポリシーが適用されたデプロイ承認はサポートされていません
- Azure DevOps の組織で通知を受信するには、[OAuth を使用したサードパーティ アプリケーションのアクセス] を有効にする必要があります ([組織の設定] -> [セキュリティ] -> [ポリシー])
トラブルシューティング
Slack 用 Azure Pipelines アプリを使用しているときに次のエラーが発生する場合は、このセクションの手順に従ってください。
申し訳ございません。問題が発生しました。 Please try again (現在、要求レートが大きすぎます。もう一度実行してください)
Azure Pipelines アプリは OAuth 認証プロトコルを使用しているため、[OAuth を使用したサードパーティ アプリケーションのアクセス] を有効にする必要があります。 この設定を有効にするには、[組織の設定]>[セキュリティ]>[ポリシー] の順に移動し、[組織の OAuth を使用したサードパーティ アプリケーションのアクセス] をオンにします。
構成に失敗しました。 組織が存在し、十分なアクセス許可があることを確認してください
次の URL に移動して、Azure DevOps からサインアウトします: https://aka.ms/VsSignout
。
プライベート/シークレット ブラウザー ウィンドウを開き、https://aex.dev.azure.com/me
に移動してサインインします。 サブスクライブするパイプラインが配置されている組織を含むディレクトリを選択します。
同じブラウザーを使用して、新しいタブを開き、https://slack.com
に移動します。 Web クライアントを使用してワークスペースにログインし、/azpipelines signout
コマンドを実行し、その後に /azpipelines signin
を実行します。
Sign in
ボタンを選択すると、次の例に示すように同意ページにリダイレクトされます。 メール アドレスの横に表示されているディレクトリが、前の手順で選択したディレクトリと一致することを確認します。 [同意] を選択して、サインイン プロセスを完了します。
関連記事
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示