こんにちは。サイオステクノロジーの川田です。
以前☞「【Maven】Azure DevOpsのPipelinesを使ってみた」という記事を投稿しました。
今回はその実行した結果をslackのチャンネルに通知する方法をご紹介します。
Azure Pipelinesアプリを追加
SlackにAzurePipelinesアプリが追加されていない方は追加してください。
というわけで「Azure Pipelinesアプリ」をインストール!
こちらを追加すると、通知の設定などが行えます。
アプリをチャンネルに追加(プライベートチャンネルのみ)
インストールしたアプリを今度はチャンネルに追加します。
プライベートのチャンネルのみ以下の実行が必要です。
チャンネルに送信してみましょう。
/invite @azpipelines
Azure にサインイン
次はSlackにAzureのサインインをします。
/azpipelines signin
こちらを実行するとこのように返ってくるはずです。
サインインが完了すると、画面にコードが表示されます。
このコードを先ほどのslack「Enter code」に入力してください。
サインインが成功するとこのようになります。
Successfully signed in to Azure Pipelines as xxxxxx@xxxxx.com.
一定時間サインインがされないと以下のエラーがブラウザ上に表示されますので、
もう一度Slackに「/azpipelines signin」を送信してアクセスしてみてください。
Authorization failed. Please try again.
パイプライン登録
次に通知をしたいパイプラインの登録を行います。
プロジェクト内のすべてのパイプラインを登録したい場合はこのように設定します。
送信してから少し時間がかかるため、気長に待ってください。
/azpipelines subscribe [プロジェクトのURL]
例:
/azpipelines subscribe https://dev.azure.com/[Organization]/learning-java/
特定のパイプラインを登録することもできます。
/azpipelines subscribe [パイプラインURL]
例:
/azpipelines subscribe https://dev.azure.com/[Organization]/learning-java/_build?definitionId=12
権限エラーになる場合
パイプラインを登録しようとしたらこんなエラーが出た方いませんか?
Configuration failed. Please make sure that the organization [組織名] exists and that you have sufficient permissions.
登録しようとしているパイプラインの組織にSlackの操作権限がないということです。
設定を確認する必要があります。
突然そんなことを言われてもよくわかりませんよね。
私はよくわかりませんでした_(:3 」∠ )_
解決していきましょう!
まず新しくプライベートもしくは、シークレットブラウザを開いて
以下のURLをアクセスしサインインしてください。
https://aex.dev.azure.com/me
アクセスすると、以下のような画面になるかと思います。
まず確認していただきたいのは、右側のプロジェクトに登録しようとしているプロジェクトがあるかということです。
今回、私が登録しようとしているのは「learning-java」です。
あれ、、、、ここにはないですね。
ない場合は左側赤枠のプルダウンで該当のものを選択します。
プルダウンを選択するとブラウザの画面が更新されます。
右側のプロジェクトを見てみると登録したい「learning-java」がありました!!
これで準備はOKです!
次は同じブラウザの新しいタブで「https://slack.com」にサインインをし、ワークスペースを選択してください。
そうするとSlackの画面が表示されます。
Slackはアプリではなく、先ほどのブラウザで開いてください。
ブラウザ上のSlackで該当のチャンネルにいき、一度サインアウトしてまたサインインをします。
- サインアウト
/azpipelines signout
- サインイン
/azpipelines signin
サインインを押すと、同意ページへと遷移されるはずです!
「承認」をクリックすると「Enter code」が表示されますので、 コードを入力してください。
サインインが成功します!!
では先ほどのご説明したパイプライン登録をしてみます。
無事登録されました^^
サブスクリプションの管理
チャンネルのすべてのサブスクリプションを表示することができます。
管理者のみこのサブスクリプションを確認することができます。
/azpipelines subscriptions
実行するとこのような感じでパイプラインの管理をすることができます。
消したい場合は「Remove」、さらに追加したい場合は「Add subscription…」をクリックします。
Slack通知を確認する
まず、デフォルトの状態はどう通知されるのか見てみましょう。
パイプライン実行してみます。
以下がSlackで通知された結果です。
実行開始されたらSlackに通知がきます。
終了したら実行結果が通知されます。
今回は「failed」となっているので失敗という結果です。
失敗は赤、成功は緑という表示になります。
それでは先ほどのサブスクリプションを追加してみましょう。
サブスクリプションの追加(成功時)
「/azpipelines subscriptions」をして、「Add subscription…」をクリックします。
そうするとプルダウンが表示されるのでお好きなように設定します。
ここでは成功の通知を設定します。
「Save」するとこのような通知がくると思います。
これで設定完了です。
それではパイプラインを実行して通知を確認してみます。
上2つはデフォルトで、それとは別に通知が追加されましたね!
チャンネルからリリース承認もできるようですが、今回は割愛します。
チャンネルからパイプラインを削除する
次はパイプラインを削除する方法です。
※こちらを使えるのは管理者のみになります。
/azpipelines unsubscribe all [プロジェクトのURL]
例:
/azpipelines unsubscribe all https://dev.azure.com/[Organization]/learning-java/
実際に実行してみます。
削除して問題なければ「Proceed」をクリックします。
無事削除されました!ワァ─ヽ(〃v〃)ノ─イ
まとめ
今回はslackの通知方法をまとめてみました^^
チャンネルに通知が来ればメンバーとの共有も楽にできますので、とても便利ですね!
ぜひ活用してみてください^^