创建通知规则 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建通知规则

您可以使用通知规则在发生重要更改(例如,构建成功和失败)时通知用户。通知规则指定用于发送通知的事件和 Amazon SNS 主题。有关更多信息,请参阅什么是通知?

注意

此功能在中国(北京)区域或中国(宁夏)区域中不可用。

您可以使用控制台或 Amazon CLI 为 Amazon CodeBuild 创建通知规则。

创建通知规则(控制台)

  1. 登录到Amazon Web Services Management Console然后打开 CodeBuild 控制台https://console.aws.amazon.com/codebuild/.

  2. 选择 Build (构建),再选择 Build projects (构建项目),然后选择要在其中添加通知的构建项目。

  3. 在构建项目页面上,选择 Notify (通知),然后选择 Create notification rule (创建通知规则)。您也可以转到构建项目的 Settings (设置) 页面,然后选择 Create notification rule (创建通知规则)

  4. Notification name (通知名称) 中,输入规则的名称。

  5. 如果您只想在通知中包含提供给 Amazon EventBridge 的信息,则在 Detail type (详细信息类型) 中,选择 Basic (基本)。选择完整如果您想包括提供给 Amazon EventBridge 的信息以及 CodeBuild 或通知管理器可能提供的信息。

    有关更多信息,请参阅了解通知内容和安全性

  6. Events that trigger notifications (触发通知的事件) 中,选择要为其发送通知的事件。有关详细信息,请参阅构建项目的通知规则的事件

  7. 目标中,执行下列操作之一:

    • 如果您已将资源配置为与通知一起使用,请在 Choose target type (选择目标类型) 中,选择 Amazon Chatbot (Slack)SNS topic (SNS 主题)。In选择目标选择客户端的名称(对于在中配置的 Slack 客户端)Amazon Chatbot) 或 Amazon SNS 主题的 Amazon 资源名称 (ARN)(对于已使用通知所需策略配置的 Amazon SNS 主题)。

    • 如果您尚未将资源配置为与通知一起使用,请选择 Create target (创建目标),然后选择 SNS topic (SNS 主题)。在 codestar-notifications- 之后提供主题的名称,然后选择 Create (创建)

    注意
    • 如果您在创建通知规则的过程中创建 Amazon SNS 主题,则为您应用允许通知功能将事件发布到主题的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此资源的通知的那些用户。

    • 您不能在创建通知规则的过程中创建 Amazon Chatbot 客户端。如果您选择 Amazon Chatbot (Slack),则将看到一个按钮,指示您在 Amazon Chatbot 中配置客户端。选择该选项将打开 Amazon Chatbot 控制台。有关更多信息,请参阅配置通知和 Amazon Chatbot 之间的集成

    • 如果要使用现有 Amazon SNS 主题作为目标,则在该主题可能存在的任何其他策略之外,您还必须为 Amazon CodeStar 通知添加所需的策略。有关更多信息,请参阅为通知配置 Amazon SNS 主题以及了解通知内容和安全性

  8. 要完成规则创建,请选择 Submit (提交)

  9. 您必须为用户订阅规则的 Amazon SNS 主题,然后他们才能接收通知。有关更多信息,请参阅 。为用户订阅作为目标的 Amazon SNS 主题. 您还可以在通知和之间设置集成Amazon Chatbot向 Amazon Chime 聊天室发送通知。有关更多信息,请参阅配置通知和 Amazon Chatbot 之间的集成

创建通知规则 (Amazon CLI)

  1. 在终端或命令提示符处,运行 create-notification rule 命令以生成 JSON 骨架:

    aws codestarnotifications create-notification-rule --generate-cli-skeleton > rule.json

    您可以将此文件命名为所需的任意名称。在本示例中,文件命名为 rule.json

  2. 在纯文本编辑器中打开 JSON 文件,然后对其进行编辑,以包括该规则所需的资源、事件类型和目标。以下示例显示了名为的通知规则。MyNotificationRule对于名为的构建项目MyBuildProject在Amazon带有 ID 的账户123456789012. 通知将包含完整详情类型的通知发送到名为的 Amazon SNS 主题。Codestar-通知-我的通知主题构建成功时:

    { "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" }

    保存该文件。

  3. 通过使用您刚编辑的文件,在终端或命令行上,再次运行 create-notification-rule 命令以创建通知规则:

    aws codestarnotifications create-notification-rule --cli-input-json file://rule.json
  4. 如果成功,该命令将返回通知规则的 ARN,类似于以下内容:

    { "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE" }