CodePipeline のステータスを ChatBot を使用して Slack に通知する

Posted on 2020-02-02 in zakki

CodePipeline の各アクションステータスを Slack に通知するようにしました。基本的には下のリンク通りにポチポチ進めて出来ました。

Configure Integration Between Notifications and AWS Chatbot

ポチポチ押していけば出来るわけですが、改めての構成の把握や気をつけたところなどをメモしておきます。

構成

  • CodePipeline の通知として設定しているけど、実際に動作しているのは CodeStar とのこと
  • SNS から AWS Chatbot に連携
  • AWS ChatBot が Slack に通知

料金

ChatBot としての料金体系は無し。ChatBot を介して使用したサービスのみとなります。ChatBot 自体がまだベータ版なのですね。

気を付けたところ

  • SNS はトピックを新たに作成した

SNS のトピックは最初既存のものを流用しようかと思いましたが、CodeStar が SNS へアクセスするために、SNS のアクセスポリシーを修正する必要があるため今回新規作成しました。

  • SNS のアクセスポリシー

SNS のアクセスポリシーはこちらに記載されているとおり、Resourceの Value として CodeStar の Arn を適用する必要があります。

  • AWS ChatBot のアクセスポリシー

ChatBot の設定でもアクセス許可のためのポリシーを設定する必要があります。今回はポチポチに従い自動生成に頼りました。改めて見てみると、Cloudwatch の閲覧系ポリシーだけでした。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudwatch:Describe*",
                "cloudwatch:Get*",
                "cloudwatch:List*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

まとめ

事前に予想していたとは言え、時間もかからず設定出来てよかったよかった。

CodePipeline ChatBot