ごった煮

色々な事を書いてます

Azure Pipeline の通知を Slack で受け取る

この記事は、Azure DevOps アドベントカレンダーの 15日目です。

Release pipeline は、各処理の結果をSlack に通知することが出来ます。 Azure pipeline の機能で通知する方法と Slack アプリを使用する方法がありますが、今回は、Slack アプリの方を説明します。

アプリを入れる

この方法には、Slack 用のアプリを入れて行います。 以下からインストールします

slack.com

このアプリは、ビルド、リリースの各処理が成功・失敗した時、リリース承認が必要な時などに通知を行うことが出来ます。

使えるようにする

プライベートチャンネルのみ、アプリをチャンネルに追加する必要があります。

/invite @azpipelines

で、アプリをSlack に登録します。 するとこんな感じになります。 f:id:papemk2:20191214212041p:plain

次に Azure にサインインします。

/azpipelines signin

を呼ぶと、以下のような感じ f:id:papemk2:20191214212256p:plain

SignIn ボタンを押すと、Azure のサインイン画面にジャンプします。 サインインが出来ると画面に数字が表示されます。 f:id:papemk2:20191214212429p:plain

Slack の画面に戻り、Enter code を選択すると、その数字を入力する画面が表示されるので入力します。 これでサインイン完了です。

Pipeline を登録する

サインインまでできたら、パイプラインを登録します。

/azpipelines subscribe パイプラインのURL

を指定するとパイプラインの通知を受け取ることが出来るようになります。 登録しているパイプラインを確認するときは、

/azpipelines subscriptions

すると、以下のような感じでパイプラインの管理が出来ます。 f:id:papemk2:20191214214425p:plain

パイプラインを登録すると、デフォルトでは、全てのステータス変更などが通知される設定になっているので、通知がうるさく感じる場合などは、細かく設定します。 Add subscription ボタンを押すと、細かい登録を行うための画面が出てきます。 例えば、ビルドパイプラインが失敗した場合は、以下のような感じ f:id:papemk2:20191214214737p:plain

リリース承認を行う

このアプリを使うと、Slack からリリースパイプラインの認証処理が行えます。 リリースパイプラインを登録した後に、そのリリースパイプライン承認が必要になると、Slack に通知が来ます。 f:id:papemk2:20191214215002p:plain

Approval を押すと承認、Reject を押すと承認しないことになります。

Slack から承認をする場合は、プロジェクトの Admin にユーザを設定する + Permissions > Service Account > Make requests on behalf of others を Allow にします。 これをしておかないと権限不足でエラーになります。

まとめ

Slack を通知対象にしておくと、メールなどよりも人によっては、見落としにくくなるかなと思います。 ビルドが成功した場合などは、あまり監視しなくても良いですが、失敗した場合の監視は、見落とすと厄介なので、ぜひ通知を活用してみましょう。