

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

# 创建通知规则
<a name="notification-rule-create"></a>

您可以使用通知规则来通知用户重要更改，例如在存储库中创建推送请求时。通知规则指定用于发送通知的事件和 Amazon SNS 主题。有关更多信息，请参阅[什么是通知？](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html)



**注意**  
此功能在欧洲地区（米兰）区域不可用。要了解如何以该区域提供的体验配置通知，请参阅[配置存储库通知](https://github.com/awsdocs/aws-codecommit-user-guide/blob/master/doc_source/how-to-repository-email-create.2.md)。

您可以使用控制台或 AWS CLI 为创建通知规则 AWS CodeCommit。<a name="notification-rule-create-console"></a>

# 创建通知规则（控制台）
<a name="notification-rule-create-console"></a>

1. 登录 AWS 管理控制台 并打开 CodeCommit 控制台，网址为[https://console.aws.amazon.com/codecommit/](https://console.aws.amazon.com/codecommit/)。

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

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

1. 在 **Notification name（通知名称）**中，输入规则的名称。

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

   有关更多信息，请参阅[了解通知内容和安全性](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security.html#security-notifications)。

1.  在 **Events that trigger notifications（触发通知的事件）**中，选择要为其发送通知的事件。有关更多信息，请参阅[存储库上的通知规则的事件](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/concepts.html#events-ref-repositories)。

1. 在**目标**中，执行下列操作之一：
   + 如果您已将资源配置为与通知一起使用，请在**选择目标类型**中，选择**聊天应用程序中的 Amazon Q 开发者版（Slack）**或 **SNS 主题**。在**选择目标**中，选择客户端的名称（对于在聊天应用程序的 Amazon Q 开发者版中配置的 Slack 客户端）或 Amazon SNS 主题的 Amazon 资源名称（ARN）（对于已使用通知所需策略配置的 Amazon SNS 主题）。
   + 如果您尚未将资源配置为与通知一起使用，请选择**创建目标**，然后选择 **SNS 主题**。在 **codestar-notifications-** 之后提供主题的名称，然后选择**创建**。
**注意**  
如果您在创建通知规则的过程中创建 Amazon SNS 主题，则为您应用允许通知功能将事件发布到主题的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此资源的通知的那些用户。
您不能在创建通知规则的过程中在聊天应用程序中创建 Amazon Q 开发者版。如果您在聊天应用程序（Slack）中选择 Amazon Q 开发者版，您会看到一个按钮，引导您在聊天应用程序的 Amazon Q 开发者版中配置客户端。选择该选项后，会在聊天应用程序控制台中打开 Amazon Q 开发者版。有关更多信息，请参阅[在聊天应用程序中配置通知与 Amazon Q 开发者版之间的集成](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/notifications-chatbot.html)。
如果要使用现有 Amazon SNS 主题作为目标，则在该主题可能存在的任何其他策略之外，您还必须为 AWS CodeStar 通知添加所需的策略。有关更多信息，请参阅[为通知配置 Amazon SNS 主题](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/set-up-sns.html)以及[了解通知内容和安全性](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security.html#security-notifications)。

1. 要完成规则创建，请选择**提交**。

1. 您必须为用户订阅规则的 Amazon SNS 主题，然后他们才能接收通知。有关更多信息，请参阅[为用户订阅作为目标的 Amazon SNS 主题](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/subscribe-users-sns.html)。您还可以在聊天应用程序中设置通知与 Amazon Q 开发者版之间的集成，以将通知发送到 Amazon Chime 聊天室。有关更多信息，请参阅[在聊天应用程序中配置通知与 Amazon Q 开发者版之间的集成](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/notifications-chatbot.html)。<a name="notification-rule-create-cli"></a>

# 创建通知规则（AWS CLI）
<a name="notification-rule-create-cli"></a>

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

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

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

1. 在纯文本编辑器中打开 JSON 文件，然后对其进行编辑，以包括该规则所需的资源、事件类型和目标。以下示例显示了名为 ID *123456789012* 的 AWS 账户*MyDemoRepo*中名**MyNotificationRule**为存储库的通知规则。具有完整详细信息的通知将发送到创建分支和标签*MyNotificationTopic*时命名的 Amazon SNS 主题：

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

   保存该文件。

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

   ```
   aws codestar-notifications create-notification-rule --cli-input-json  file://rule.json
   ```

1. 如果成功，该命令将返回通知规则的 ARN，类似于以下内容：

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