通知の概念 - デベロッパーツールコンソール

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

通知の概念

概念と用語を理解すれば、通知の設定と使用が容易になります。ここでは、通知を使用する際に知っておかなければならないいくつかの概念を次に示します。

通知

通知とは、お客様と開発者が使用するリソースで発生するイベントに関する情報を示すメッセージです。ビルドプロジェクト、リポジトリ、デプロイアプリケーション、パイプラインなどのリソースのユーザーに対して、作成した通知ルールに従って、指定したイベントタイプに関する E メールを送信するように通知を設定できます。

セッションタグを使用して、AWS CodeCommit の通知に表示名や電子メールアドレスなどのユーザー ID 情報を含めることができます。CodeCommit では、セッションタグの使用がサポートされています。セッションタグは、IAM ロールを引き受けるとき、一時的な認証情報を使用するとき、または AWS Security Token Service (AWS STS) でユーザーをフェデレートするときに渡すキーと値のペアの属性です。タグを IAM ユーザーに関連付けることもできます。CodeCommit は、displayNameemailAddress のタグが存在する場合、それらの値を通知コンテンツに含めます。詳細については、「CodeCommit で ID 情報を提供するためのタグの使用」を参照してください。

重要

通知には、ビルドのステータス、デプロイのステータス、コメントのあるコード行、パイプラインの承認など、プロジェクト固有の情報が含まれます。通知の内容は、新機能が追加されると変更されることがあります。セキュリティのベストプラクティスとして、通知ルールのターゲットと Amazon SNS トピックのサブスクライバーを定期的に確認する必要があります。詳細については、「通知の内容とセキュリティについて」を参照してください。

通知ルール

通知ルールは、通知を送信するタイミングと送信先を指定するために作成する AWS リソースです。通知ルールでは、以下を定義します。

  • 通知の作成条件。これらの条件は、選択したイベントに基づきます。イベントはリソースタイプに固有です。サポートされているリソースタイプには、AWS CodeBuild のビルドプロジェクト、AWS CodeDeploy のデプロイアプリケーション、AWS CodePipeline のパイプライン、AWS CodeCommit のリポジトリなどがあります。

  • 通知の送信先のターゲット。通知ルールには最大 10 個のターゲットを指定できます。

通知ルールの送信先は、個別のビルドプロジェクト、デプロイアプリケーション、パイプライン、およびリポジトリです。通知ルールには、ユーザー定義のフレンドリ名と Amazon リソースネーム (ARN) の両方があります。通知ルールは、リソースが存在する AWS リージョンと同じリージョンで作成する必要があります。例えば、ビルドプロジェクトが 米国東部 (オハイオ) リージョンにある場合、通知ルールも 米国東部 (オハイオ) リージョンで作成する必要があります。

1 つのリソースに対して最大 10 個の通知ルールを定義できます。

イベント

イベントとは、モニタリングするリソースの状態の変化です。各リソースには、選択できるイベントタイプのリストがあります。リソースに通知ルールを設定する際に、発生したときに通知が送信されるイベントを指定します。例えば、CodeCommit でリポジトリの通知を設定し、[Pull request] (プルリクエスト)と [Branches and tags] (ブランチとタグ) の両方で[Created] (作成済み) を選択した場合、そのリポジトリ内のユーザーがプルリクエスト、ブランチ、または Git タグを作成するたびに通知が送信されます。

詳細タイプ

通知ルールを作成するとき、通知に含まれる詳細レベルまたは詳細タイプ ([フル] または [ベーシック]) を選択できます。[フル] 設定 (デフォルト) では、通知にあるイベントについて入手可能な情報 (特定のイベントについてサービスから提供される拡張情報も含む) のすべてが含まれます。[ベーシック] 設定では、入手可能な情報のサブセットのみが含まれます。

以下の表では、特定のイベントタイプについて入手可能な拡張情報を一覧表示し、詳細タイプ間の違いについて説明します。

サービス イベント フルに含まれる ベーシックには含まれない

CodeCommit

コミットに関するコメント

プルリクエストに関するコメント

返信やコメントスレッドなど、すべてのイベントの詳細とコメントの内容。コメントが作成された行番号とコード行も含まれます。

コメントの内容、行番号、コード行、コメントスレッド。

CodeCommit

プルリクエストが作成された

すべてのイベントの詳細、および送信先ブランチに関連するプルリクエストで追加、変更、または削除されたファイルの数。

プルリクエストの送信元ブランチによって追加、変更、または削除されたファイルのリストや詳細。

CodePipeline

手動承認を求められた

すべてのイベントの詳細とカスタムデータ (設定されている場合)。通知には、パイプラインで求められる承認へのリンクも含まれます。

カスタムデータまたはリンク。

CodePipeline

アクションの実行に失敗した

パイプラインの実行に失敗した

ステージの実行に失敗した

すべてのイベントの詳細と失敗のエラーメッセージの内容。

エラーメッセージの内容。

ターゲット

ターゲットとは、通知ルールからの通知が届く場所です。許可されるターゲットタイプは、Slack チャンネルまたは Microsoft Teams チャネル用に設定された AWS Chatbot クライアント、および Amazon SNS トピックです。ターゲットにサブスクライブしているすべてのユーザーに、通知ルールで指定したイベントに関する通知が送信されます。

通知の配信先を広げたい場合は、通知と AWS Chatbot との統合を手動で設定することで、通知を Amazon Chime チャットルームに送信できます。次に、通知ルールのターゲットとして、その AWS Chatbot クライアント用に設定された Amazon SNS トピックを選択できます。詳細については、「通知を AWS Chatbot および Amazon Chime と統合するには」を参照してください。

AWS Chatbot クライアントをターゲットとして使用する場合は、最初にこのクライアントを AWS Chatbot で作成する必要があります。通知ルールのターゲットとして AWS Chatbot クライアントを選択すると、その AWS Chatbot クライアント用の Amazon SNS トピックが、Slack チャンネルまたは Microsoft Teams チャネルへの通知の送信に必要なすべてのポリシーと共に設定されます。既存の Amazon SNS トピックを AWS Chatbot クライアント用に設定する必要はありません。

通知ルールの作成の一環として、Amazon SNS トピックをターゲットとして作成を選択できます (推奨)。通知ルールと同じ AWS リージョンにある既存の Amazon SNS トピックを選択することもできます。ただし、このトピックには、必要なポリシーを設定する必要があります。ターゲットとして使用する Amazon SNSトピックは、AWS アカウント内に存在する必要があります。また、通知ルールやこのルールを作成した対象の AWS リソースと同じ AWS リージョンに存在している必要があります。

例えば、米国東部(オハイオ)リージョンでリポジトリの通知ルールを作成した場合、Amazon SNS トピックもそのリージョンに存在する必要があります。通知ルールの作成の一部として Amazon SNS トピックを作成すると、トピックへのイベントの公開を許可するために必要なポリシーによりトピックが設定されます。これは、ターゲットと通知ルールを操作するのに最適な方法です。既存のトピックを使用するか、手動でトピックを作成する場合は、ユーザーが通知を受け取る前に、必要なアクセス許可でトピックを設定する必要があります。詳細については、「通知用に Amazon SNS トピックを設定する」を参照してください。

注記

新しいトピックを作成する代わりに既存の Amazon SNS トピックを使用する場合は、[Targets (ターゲット)] でその ARN を選択します。トピックに適切なアクセスポリシーがあり、リソースに関する情報を表示できるユーザーのみがサブスクライバーリストに含まれていることを確認します。Amazon SNS トピックが 2019 年 11 月 5 日より前に CodeCommit 通知に使用された場合、このトピックは AWS CodeStar Notifications に必要なアクセス許可とは異なるアクセス許可を含む、CodeCommit の発行を許可するポリシーを含みます。これらのトピックの使用は非推奨です。そのような経緯で作成されたトピックの使用を求める場合、必要なポリシーをその他の既存のポリシーに加えて AWS CodeStar Notifications に追加する必要があります。詳細については、通知用に Amazon SNS トピックを設定する および 通知の内容とセキュリティについて を参照してください。

通知および AWS CodeStar Notifications

デベロッパーツールコンソールの機能ですが、通知には独自の APIである AWS CodeStar Notificationsがあります。また、独自の AWS リソースタイプ(通知ルール)、アクセス許可、イベントもあります。通知ルールのイベントはログインした AWS CloudTrail です。API アクションは、 IAM ポリシーを通じて許可または拒否できます。

リポジトリでの通知ルールのイベント

カテゴリ イベント イベント ID

コメント

コミット時

プルリクエスト時

codecommit-repository-comments-on-commits

codecommit-repository-comments-on-pull-requests

承認

ステータス変更

ルールの上書き

codecommit-repository-approvals-status-changed

codecommit-repository-approvals-rule-override

プルリクエスト

作成

ソース更新

ステータス変更

マージ

codecommit-repository-pull-request-created

codecommit-repository-pull-request-source-updated

codecommit-repository-pull-request-status-changed

codecommit-repository-pull-request-merged

ブランチとタグ

作成

[Deleted] (削除済み)

更新

codecommit-repository-branches-and-tags-created

codecommit-repository-branches-and-tags-deleted

codecommit-repository-branches-and-tags-updated

ビルドプロジェクトでの通知ルールのイベント

カテゴリ イベント イベント ID

ビルド状態

[Failed] (失敗)

成功

進行中

停止

codebuild-project-build-state-failed

codebuild-project-build-state-succeeded

codebuild-project-build-state-in-progress

codebuild-project-build-state-stopped

ビルドフェーズ

失敗

成功

codebuild-project-build-phase-failure

codebuild-project-build-phase-success

デプロイアプリケーションでの通知ルールのイベント

カテゴリ イベント イベント ID

デプロイ

[Failed] (失敗)

成功

Started

codedeploy-application-deployment-failed

codedeploy-application-deployment-succeeded

codedeploy-application-deployment-started

パイプラインでの通知ルールのイベント

カテゴリ イベント イベント ID

アクションの実行

成功

[Failed] (失敗)

キャンセル

Started

codepipeline-pipeline-action-execution-succeeded

codepipeline-pipeline-action-execution-failed

codepipeline-pipeline-action-execution-canceled

codepipeline-pipeline-action-execution-started

ステージの実行

Started

成功

再開

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

パイプラインの実行

[Failed] (失敗)

キャンセル

Started

再開

成功

置換

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

手動の承認

[Failed] (失敗)

必要

成功

codepipeline-pipeline-manual-approval-failed

codepipeline-pipeline-manual-approval-needed

codepipeline-pipeline-manual-approval-succeeded