通知ルールの作成
通知ルールを使用すると、ビルドの成功や失敗などの重要な変更が発生したときにユーザーに通知できます。通知ルールは、イベントと、通知の送信に使用される Amazon SNS トピックの両方を指定します。詳細については、「通知とは」を参照してください。
コンソールまたは AWS CLI を使用して AWS CodeBuild の通知ルールを作成できます。
通知ルールを作成するには (コンソール)
AWS Management Console にサインインして、CodeBuild コンソール (https://console.aws.amazon.com/codebuild/
) を開きます。 -
[Build (ビルド)]、[Build projects (ビルドプロジェクト)] の順に選択し、通知を追加するビルドプロジェクトを選択します。
-
ビルドプロジェクトページで、[Notify (通知)]、[Create notification rule (通知ルールの作成)] の順に選択します。ビルドプロジェクトの [Settings (設定)] ページに移動し、[Create notification rule (通知ルールの作成)] を選択することもできます。
-
[通知名] に、ルールの名前を入力します。
-
Amazon EventBridge に提供された情報のみを通知に含める場合は、[Detail type (詳細タイプ)] で [Basic (基本)] を選択します。Amazon EventBridge に提供される情報に加えて、CodeBuild または通知マネージャから提供される場合がある情報も含める場合は、[完全] を選択します。
詳細については、「通知の内容とセキュリティについて」を参照してください。
-
[Events that trigger notifications (通知をトリガーするイベント)] で、通知を送信するイベントを選択します。詳細については、「ビルドプロジェクトでの通知ルールのイベント」を参照してください。
-
[Targets (ターゲット)] で、次のいずれかの操作を行います。
-
通知で使用するリソースを設定済みである場合は、[Choose target type] で、[AWS Chatbot (Slack)] または [SNS topic] を選択します。[Choose target] で、クライアントの名前 (AWS Chatbot で設定した Slack クライアントの場合) または Amazon SNS トピックの Amazon リソースネーム (ARN) (通知に必要なポリシーが設定済みである Amazon SNS トピックの場合) を選択します。
-
通知で使用するリソースを設定していない場合は、[Create target]、[SNS topic] の順に選択します。codestar-notifications- の後にトピックの名前を指定し、[Create] を選択します。
注記
-
通知ルールの作成の一環として Amazon SNS トピックを作成すると、トピックへのイベント発行を通知機能に許可するポリシーが適用されます。通知ルール用に作成したトピックを使用すると、このリソースに関する通知を受信するユーザーのみをサブスクライブできます。
-
通知ルールの作成の一環として AWS Chatbot クライアントを作成することはできません。AWS Chatbot (Slack) を選択すると、AWS Chatbot でクライアントを設定するように指示するボタンが表示されます。このオプションを選択すると、AWS Chatbot コンソールが開きます。詳細については、「通知と AWS Chatbot 間の統合を設定する」を参照してください。
-
既存の Amazon SNS トピックをターゲットとして使用する場合は、このトピック用の他のすべてのポリシーに加えて、AWS CodeStar Notifications に必要なポリシーを追加する必要があります。詳細については、「通知用の Amazon SNS トピックを設定する」および「通知の内容とセキュリティについて」を参照してください。
-
-
ルールの作成を終了するには、[Submit (送信)] を選択します。
-
通知を受け取るには、そのルールの Amazon SNS トピックにユーザーをサブスクライブする必要があります。詳細については、「ターゲットである Amazon SNS トピックへのユーザーのサブスクライブ」を参照してください。また、通知と AWS Chatbot の統合をセットアップして、Amazon Chime チャットルームに通知を送信することもできます。詳細については、「通知と AWS Chatbot 間の統合を設定する」を参照してください。
通知ルールを作成するには (AWS CLI)
-
ターミナルまたはコマンドプロンプトで、create-notification rule コマンドを実行して、JSON スケルトンを生成します。
aws codestarnotifications create-notification-rule --generate-cli-skeleton >
rule.json
ファイルには任意の名前を付けることができます。この例では、ファイルの名前を
rule.json
とします。 -
プレーンテキストエディタで JSON ファイルを開き、これを編集してルールに必要なリソース、イベントタイプ、ターゲットを含めます。次の例は、AWS アカウントで ID が
123456789012
のMyBuildProject
というビルドプロジェクトのためのMyNotificationRule
という通知ルールを示しています。ビルドが成功したとき、通知は、完全な詳細タイプで Amazon SNS トピックcodestar-notifications-MyNotificationTopic
に送信されます:{ "Name": "
MyNotificationRule
", "EventTypeIds": [ "codebuild-project-build-state-succeeded" ], "Resource": "arn:aws:codebuild:us-east-2
:123456789012
:MyBuildProject
", "Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-2
:123456789012
:codestar-notifications-MyNotificationTopic
" } ], "Status": "ENABLED", "DetailType": "FULL" }ファイルを保存します。
-
先ほど編集したファイルを使用して、ターミナルまたはコマンドラインで、create-notification-rule コマンドを再度実行し、通知ルールを作成します。
aws codestarnotifications create-notification-rule --cli-input-json file://
rule.json
-
成功すると、コマンドは次のような通知ルールの ARN を返します。
{ "Arn": "arn:aws:codestar-notifications:
us-east-1
:123456789012
:notificationrule/dc82df7a-EXAMPLE" }