Codeシリーズの通知イベントをまとめてみた

2022.06.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。たかやまです。

最近Codeシリーズの通知を調べる機会があり、イベント一覧を見たのですがカテゴリごとに通知される内容がぱっと見どう違うかわかりませんでした(特にpipeline)。

そこで今回は実際のイベントをChatbotの通知形式でまとめてみました。

構成

構成はシンプルな以下の構成でテストしています。

通知の詳細タイプはすべてフルで設定しています。
Detail types - Developer Tools console

サンプルコードはこちらです。

CodeCommit

Codecommitで用意されているイベントは以下の通りです。

Category Events Event IDs
Comments On commits
On pull requests
codecommit-repository-comments-on-commits
codecommit-repository-comments-on-pull-requests
Approvals Status changed
Rule override
codecommit-repository-approvals-status-changed
codecommit-repository-approvals-rule-override
Pull request Created
Source updated
Status changed
Merged
codecommit-repository-pull-request-created
codecommit-repository-pull-request-source-updated
codecommit-repository-pull-request-status-changed
codecommit-repository-pull-request-merged
Branches and tags Created
Deleted
Updated
codecommit-repository-branches-and-tags-created
codecommit-repository-branches-and-tags-deleted
codecommit-repository-branches-and-tags-updated

Notification concepts - Developer Tools console

codecommit-repository-comments-on-commits

CodeCommitのコミットにコメントを追加した時に出力されます。

codecommit-repository-comments-on-pull-requests

CodeCommitのプルリクエストにコメントを追加した時に出力されます。

codecommit-repository-approvals-status-changed

CodeCommitのプルリクエストの承認ルールのステータスが更新された時に出力されます。

codecommit-repository-approvals-rule-override

CodeCommitのプルリクエスト承認ルールを上書きした時に出力されます。

codecommit-repository-pull-request-created

CodeCommitのプルリクエストを作成した時に出力されます。

codecommit-repository-pull-request-source-updated

CodeCommitのプルリクエスト元のブランチが変更された時に出力されます。

codecommit-repository-pull-request-status-changed

CodeCommitのプルリクエストのステータスが変更された時に出力されます。

codecommit-repository-pull-request-merged

CodeCommitのプルリクエストがマージされた時に出力されます。

codecommit-repository-branches-and-tags-created

CodeCommitのブランチまたはタグを作成した時に出力されます。

codecommit-repository-branches-and-tags-deleted

CodeCommitのブランチまたはタグを削除した時に出力されます。

codecommit-repository-branches-and-tags-updated

CodeCommitのブランチまたはタグをアップデートした時に出力されます。

CodeBuild

CodeBuildで用意されているイベントは以下の通りです。

Category Events Event IDs
Build state Failed
Succeeded
In-progress
Stopped
codebuild-project-build-state-failed
codebuild-project-build-state-succeeded
codebuild-project-build-state-in-progress
codebuild-project-build-state-stopped
Build phase Failure
Success
codebuild-project-build-phase-failure
codebuild-project-build-phase-success

Notification concepts - Developer Tools console

codebuild-project-build-state-failed

CodeBuild失敗時に出力されます。

codebuild-project-build-state-succeeded

CodeBuild完了時に出力されます。

codebuild-project-build-state-in-progress

CodeBuild開始時に出力されます。

codebuild-project-build-state-stopped

CodeBuild停止時に出力されます。

codebuild-project-build-phase-failure

CodeBuildのフェーズ失敗時に出力されます。

codebuild-project-build-phase-success

CodeBuildの各フェーズ完了時に出力されます。

CodeDeploy

CodeDeployで用意されているイベントは以下の通りです。

Category Events Event IDs
Deployment Failed
Succeeded
Started
codedeploy-application-deployment-failed
codedeploy-application-deployment-succeeded
codedeploy-application-deployment-started

Notification concepts - Developer Tools console

codedeploy-application-deployment-failed

CodeDeploy失敗時に出力されます。

codedeploy-application-deployment-succeeded

CodeDeploy成功時に出力されます。

codedeploy-application-deployment-started

CodeDeploy開始時に出力されます。

CodePipeline

CodePipelineで用意されているイベントは以下の通りです。

Category Events Event IDs
Action execution Succeeded
Failed
Canceled
Started
codepipeline-pipeline-action-execution-succeeded
codepipeline-pipeline-action-execution-failed
codepipeline-pipeline-action-execution-canceled
codepipeline-pipeline-action-execution-started
Stage execution Started
Succeeded
Resumed
Canceled
Failed
codepipeline-pipeline-stage-execution-started
codepipeline-pipeline-stage-execution-succeeded
codepipeline-pipeline-stage-execution-resumed
codepipeline-pipeline-stage-execution-canceled
codepipeline-pipeline-stage-execution-failed
Pipeline execution Failed
Canceled
Started
Resumed
Succeeded
Superseded
codepipeline-pipeline-pipeline-execution-failed
codepipeline-pipeline-pipeline-execution-canceled
codepipeline-pipeline-pipeline-execution-started
codepipeline-pipeline-pipeline-execution-resumed
codepipeline-pipeline-pipeline-execution-succeeded
codepipeline-pipeline-pipeline-execution-superseded
Manual approval Failed
Needed
Succeeded
codepipeline-pipeline-manual-approval-failed
codepipeline-pipeline-manual-approval-needed
codepipeline-pipeline-manual-approval-succeeded

codepipeline-pipeline-action-execution-succeeded

CodePipelineの各アクションの開始時に出力されます。

codepipeline-pipeline-action-execution-failed

CodePipelineの各アクションの失敗時に出力されます。

codepipeline-pipeline-action-execution-canceled

CodePipelineの各アクションで構成が変更され実行がキャンセルされた時に出力されます。

codepipeline-pipeline-action-execution-started

CodePipelineの各アクションの開始時に出力されます。

codepipeline-pipeline-stage-execution-started

CodePipelineの各ステージの開始時に出力されます。

codepipeline-pipeline-stage-execution-succeeded

CodePipelineの各ステージが成功した時に出力されます。

codepipeline-pipeline-stage-execution-resumed

CodePipelineの各ステージで途中停止した後、再開した時に出力されます。

codepipeline-pipeline-stage-execution-canceled

CodePipelineの各ステージで構成が変更され実行がキャンセルされた時に出力されます。

codepipeline-pipeline-stage-execution-failed

CodePipelineの各ステージの失敗時に出力されます。

codepipeline-pipeline-pipeline-execution-failed

CodePipeline失敗時に出力されます。

codepipeline-pipeline-pipeline-execution-canceled

CodePipelineの構成が変更され実行がキャンセルされた時に出力されます。

codepipeline-pipeline-pipeline-execution-started

CodePipelineが実行された時に出力されます。

codepipeline-pipeline-pipeline-execution-resumed

CodePipelineの実行を途中停止した後、再開した時に出力されます。

codepipeline-pipeline-pipeline-execution-succeeded

CodePipelineの実行が成功した時に出力されます。

codepipeline-pipeline-pipeline-execution-superseded

CodePipelineの実行が上書きされた時に出力されます。

codepipeline-pipeline-manual-approval-failed

手動承認が失敗(却下)した時に出力されます。

codepipeline-pipeline-manual-approval-needed

手動承認待ちになった時に出力されます。

codepipeline-pipeline-manual-approval-succeeded

手動承認が成功した時に出力されます。

通知の使い分け

いかがだったでしょうか?

CodePipelineを利用している場合は、他のCodeシリーズで通知される内容(Succeeded / Failed / Started)と同等のものをCodepipelineで通知することもできるのですべての通知を有効にするのではなく、組み合わせるサービスごとに適宜通知を選択いただければと思います。

また、CodePipelineのカテゴリー Pipeline execution Stage execution Action executionも粒度が違うだけで似たような通知なので、必要な情報が含まれたカテゴリーのみ有効にすることをおすすめします。

カテゴリー粒度

Pipeline execution -- Stage execution -- Action execution
粗                                                     細

通知の選択肢が多く悩まれてる方に、こちらの内容が助けになれば幸いです。

以上、たかやまでした。