Code兄弟のSlack 通知設定アップデート

記事タイトルとURLをコピーする

こんにちは。技術4課の古川です。

AWS CodeCommit、 CodeBuild、CodeDeploy、または CodePipeline に Slack 通知を設定できることは、ご存知の方も多いと思います。

公式ブログ(https://aws.amazon.com/jp/about-aws/whats-new/2020/04/receive-notifications-for-aws-codebuild-codecommit-codedeploy-codepipeline-in-slack/)

によると、2020年4月2日より、AWSコンソールで数回クリックするだけでslack通知を設定できるようになったようですが、この記事だけでは何が簡単になったのかいまいちわかりません。

そこで本記事では、実際に検証してみたいと思います

目次

  1. 概要
  2. CodeCommit設定
  3. AWS Chatbot設定
  4. 通知確認
  5. さいごに

1.概要

CodePipelineとCodeCommitのレポジトリを予め用意し、Slack通知のトリガーをプルリクエスト作成に設定します。

2.CodeCommit設定

コンソール画面でCodeCommitの設定を行います。右上の通知設定から、通知作成を選択します

続いて、通知ルールの作成をします。通知名を任意で決めたら、詳細タイプを選択します。

詳細タイプは、公式ではデフォルトの「フル」が推奨となっています。例えば、「フル」 を選択した場合、プルリクエストの通知内容にコメントが含まれます。通知機能が強化された場合や通知内容に情報が追加された場合は、通知設定を変えることなく新しい形式の通知を受信できます。

今回は、プルリクエストが作成されると通知をトリガーするように設定します。

続いてSNSトピックを作成を選択し、Target typeを「AWS Chatbot(Slack)」に設定すると、AWS Chatbotのコンソール画面に遷移できます。

3.AWS Chatbot設定

AWS Chatbotのコンソール画面に遷移し、「新しいクライアント」を設定します。その際に、Amazon ChimeとSlackのどちらかを選択できるのですが、今回はSlackで設定します。 Slackを選択すると、AWS Chatbotが通知先のSlack ワークスペースのパーミッションを要求します。許可すると、下図のように対象のSlackチャンネルを設定するように求められます。 SlackがAWS Chatbotを正常に承認したら、設定したSlackワークスペースの設定画面から「新しいチャンネルを設定」をクリックします。

設定名は任意ですがここでは「test」とします。Amazon Cloudwatch Logsにログを発行するか選択し、通知を送りたいSlackチャンネルを選択します。今回は「times-furukawa」に通知を送りたいと思います。

アクセス許可の設定をします。今回はテンプレートを使用して、AWS Chatbotのアクセス許可を定義するIAMロールを作成します。ロール名は任意で、ポリシーテンプレートは選択しません。 次に通知オプションの設定ですが、ここが今回のアップデートの重要なポイントです。以前は予めSNSトピックを作成し、AWS Chatbotと連携させる必要がありました。しかし、今回のアップデートにより、SNSトピックを事前に作成せずとも、AWS Chatbotのチャンネル設定を行うことで、SNSトピックを自動で生成できるようになりました。 よって、通知設定は空欄で問題ありません。CodeCommitレポジトリのリージョンに、SNSトピックを自動生成してくれます。 チャンネルの設定が完了しました。SNSトピックも自動生成させれいます。

4.通知確認

それでは、先ほど設定したプルリクエストの作成をトリガーとして、指定したSlackのチャンネルに通知が行くか確認します。 今回はレポジトリ「sls-demo-repo」のtestブランチをmasterブランチにマージする際のプルリクエストを作成します。 特に問題なく、「times-furukawa」に通知が届きました。

5.さいごに

実際に手を動かしてみて、簡単にSlack通知を作成することができました。

今回はCodeCommitにSlack通知設定を行いましたが、他のcode兄弟にも設定可能です。

今回のAWSアップデートのように、局所的であるが使いやすくなるようなアップデートが日々行われております。

次回も役に立つアップデートを検証してみたいと思います。