创建通知规则 - AWS CodeCommit

AWS CodeCommit 不再向新客户提供。 AWS CodeCommit 的现有客户可以继续正常使用该服务。了解更多

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

创建通知规则

您可以使用通知规则来通知用户重要更改,例如在存储库中创建推送请求时。通知规则既指定了用于发送通知的事件,也指定了用于发送通知的 Amazon SNS 主题。有关更多信息,请参阅什么是通知?

注意

此功能在欧洲地区(米兰)区域不可用。要了解如何以该区域提供的体验配置通知,请参阅配置存储库通知

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

创建通知规则(控制台)

  1. 登录 AWS Management Console 并打开 CodeCommit 控制台,网址为https://console.aws.amazon.com/codecommit/

  2. 选择 Repositories (存储库),然后选择要在其中添加通知规则的存储库。

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

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

  5. 如果您只想在通知中 EventBridge 包含提供给 Amazon 的信息,请在 “详情类型” 中选择 “基本”。如果您想包括提供给 Amazon 的信息 EventBridge 以及可能由 CodeCommit 或通知管理器提供的信息,请选择 “部”。

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

  6. Events that trigger notifications(触发通知的事件)中,选择要为其发送通知的事件。有关更多信息,请参阅存储库上的通知规则的事件

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

    • 如果您已经将资源配置为用于通知,请在选择目标类型中,选择 AWS Chatbot (Slack)SNS主题。在选择目标中,选择客户端名称(对于中配置的 Slack 客户端 AWS Chatbot)或亚马逊SNS主题的亚马逊资源名称 (ARN)(对于已经配置了通知所需策略的亚马逊SNS主题)。

    • 如果您尚未将资源配置为用于通知,请选择创建目标,然后选择SNS主题。在 codestar-notifications- 之后提供主题的名称,然后选择创建

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

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

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

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

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

创建通知规则(AWS CLI)

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

    aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json

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

  2. 在纯文本编辑器中打开JSON文件并对其进行编辑,使其包含所需的资源、事件类型和规则目标。以下示例显示了为名MyNotificationRule为的存储库命名的通知规则 MyDemoRepo 在带有 ID 的 AWS 账户中 123456789012。 具有完整详情类型的通知将发送到名为的 Amazon SNS 主题 MyNotificationTopic 创建分支和标签时:

    { "Name": "MyNotificationRule", "EventTypeIds": [ "codecommit-repository-branches-and-tags-created" ], "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo", "Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic" } ], "Status": "ENABLED", "DetailType": "FULL" }

    保存该文件。

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

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

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