HAPPY HACKING Oouchi's BLOG

PSE(ポンコツエンジニア)の技術ブログ

CodeCommitのプルリクエストをAWS Chatbotを経由してSlackで通知する

CodeCommitは昔プルリクエスト周りが使いづらいと評価されていました。
ただ、AWS ChatbotがリリースされたことでプルリクエストだけではなくGitアクション全般とSlackの連携が楽にできるようになり、実際結構便利になってきてるのでは?🤔と思いはじめました。

そんなわけで、CodeCommitのプルリクエストをAWS ChatbotとSlackを使用して通知したいと思います。

はじめに

前提条件

  • CodeCommitでリポジトリを作成済み
  • Slackのパブリックチャンネルを作成済み

本題

通知設定

CodeCommitのコンソールを開きます。

通知したいリポジトリを選択して、通知ルールの作成をクリックします。

f:id:ooooouchi:20200612011310p:plain

通知ルールの設定をしていきます。

  • 通知ルール:pr-notification(好きな名前)
  • 詳細タイプ:フル
  • 通知をトリガーするイベント:お好み

    • Comments
      • On commits
      • On pull requests
    • Pull request
      • Source updated
      • Created
      • Status changed
      • Merged
  • ターゲット:ターゲットの作成をクリックします。

  • SNSトピック:pr-notifications-chatbot

f:id:ooooouchi:20200612011314p:plain

作成をクリックします。

f:id:ooooouchi:20200612011318p:plain

設定内容を確認してSubmitをクリックします。

f:id:ooooouchi:20200612011324p:plain

作成が完了しました。

AWS Chatbot設定

AWS Chatbotのコンソールを開きます。

画面右側のチャットクライアントからSlackを選択し、クライアントを設定をクリックします。

f:id:ooooouchi:20200612011328p:plain

以下画面が表示されるので許可するをクリックします。

f:id:ooooouchi:20200612011333p:plain

ワークスペース情報画面に遷移するので、新しいチャネルを設定をクリックします。

f:id:ooooouchi:20200612011337p:plain

通知先のslackチャンネルの設定をしていきます。

  • 設定名:pr-notification
  • チャネルタイプ:パブリック
  • パブリックチャネル:通知先のチャネル
  • IAMロール:テンプレートを使用してIAMロールを作成する
  • ロール名:pr-notification
  • リージョン:アジアパシフィック-東京
  • トピック:作成したトピック

f:id:ooooouchi:20200612011343p:plain f:id:ooooouchi:20200612011348p:plain

設定できたら設定をクリックします。

f:id:ooooouchi:20200612011353p:plain

設定が完了しました。

動作確認

プルリクエストを作成してみます。

f:id:ooooouchi:20200612011357p:plain

Slackに通知が来ました。

f:id:ooooouchi:20200612011402p:plain

マージの通知も来るようになりました。

f:id:ooooouchi:20200612011406p:plain

めでたし。

終わりに

CodeCommitからSlackへ通知を送ることができました。
実は最本命はCodePipelineだったりするのではやく試してみたいです!