はじめに
みなさん、AWSで通知をSlackに送りたい場合はどんなやり方で行っていますか?
LambdaでSlack APIを実行して通知したりすることも出来ますが、AWS Chatbotというサービスを使えば簡単に実現できるようです。
AWS Chatbotとは?
AWS ChatbotとはAmazon Chime、Microsoft Teams、SlackチャンネルでAWS用のChatOpsを簡単に設定するエージェントです。
運用イベントやセキュリティに関する検出結果などの通知を、チーム全体が確認するチャットルームで受け取ることができます。
今回のゴール
みなさん、CI/CDでCodePipelineを利用すると思いますが、パイプラインが正常に終了したかいちいちAWSコンソールで確認するのは手間だと思ったことはありませんか?
そこで、今回はCI/CDで使われるCodePipelineの実行結果をChatbotを利用して、Slackに通知してみようと思います。
なお、通知を行うSlackチャンネルと、CodePipelineは事前に作ってある前提で進めさせていただきます
やってみた
では、実際に作ってみます!
Chatbotの設定
まず、Chatbotの設定を行います。
ワークスペースの作成
新しいクライアントを設定
をクリックし、クライアントしてSlack
を選択します。
ワークスペースのURLを聞かれるので、ご利用のワークスペースURLを入力して、続行する
をクリックし、Slackへログインします。
無事にログインができ、ChatbotがSlackへ投稿する許可をすると、ChatbotにSlackワークスペースが作られます。
チャンネルの設定
次に、どのチャンネルに投稿するか設定するため、新しいチャンネルを設定
をクリックします。
任意の設定名を入力し、Slackチャンネルのリストから投稿するチャンネルを選択します。
それ以外はデフォルト値でOKなので、設定
をクリックします。
これでChatbotの準備は完了です!思った以上に簡単でした
CodePipelineの設定
次に、CodePipelineの通知設定を行うので、設定
>通知ルールの作成
をクリックします。
任意の通知名を入力し、詳細タイプを選択します。
今回は、パイプラインの結果(成功、失敗など)だけ通知出来ればいいので、通知をトリガーするトリガーイベント
として、Pipeline execution
の全てにチェックします。
ターゲット
に先ほど作成したChatbotワークスペースを選択します。
通知を見てみる
設定が完了したので、最後にCodePipelineを動かして通知されるか確かめてみましょう!
下の画像は成功した場合ですが、以下のように開始と成功のメッセージがSlackに通知されればOKです
おわりに
今回は、CodePipelineの結果をChatbotを使ってSlackに通知してみました!
CodePipelineに関わらず何かしらのイベントをSlackに通知したいケースは多々あると思いますので、そんな時はChatbotを利用していきましょう!