

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

# 测试 AWS CodeCommit 仓库的触发器
<a name="how-to-notify-test"></a>

您可以测试为 CodeCommit 存储库创建的触发器。测试涉及使用您的存储库中的示例数据运行触发器，包括最新的提交 ID。如果存储库不存在提交历史记录，则生成由零组成的示例值。测试触发器可帮助您确认您是否已正确配置触发器目标 CodeCommit 之间的访问权限，无论是 AWS Lambda 函数通知还是亚马逊简单通知服务通知。

**Topics**
+ [测试存储库的触发器（控制台）](#how-to-notify-test-console)
+ [测试存储库的触发器 (AWS CLI)](#how-to-notify-test-cli)

## 测试存储库的触发器（控制台）
<a name="how-to-notify-test-console"></a>

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.aws.amazon.com/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 从**存储库**中，选择要测试其存储库事件触发器的存储库。

1. 在存储库的导航窗格中，选择**设置**，然后选择**触发器**。

1. 选择要测试的触发器，然后选择**测试触发器**。您应看到指示成功或失败的消息。如果成功，您还应看到来自 Lambda 函数或 Amazon SNS 主题的相应操作响应。

## 测试存储库的触发器 (AWS CLI)
<a name="how-to-notify-test-cli"></a>

1. 在终端（Linux、macOS 或 Unix）或命令提示符 (Windows) 处，运行 **get-repository-triggers** 命令创建一个 JSON 文件，其中包含为您的存储库配置的所有触发器的结构。例如，要创建一个名为的 JSON 文件{{TestTrigger.json}}，该文件包含为名为的存储库配置的所有触发器的结构 MyDemoRepo：

   ```
   aws codecommit get-repository-triggers --repository-name MyDemoRepo >TestTrigger.json
   ```

   此命令将在您运行该命令的目录{{TestTriggers.json}}中创建一个名为的文件。

1. 在纯文本编辑器中编辑 JSON 文件并更改触发器语句。用 `repositoryName` 对替换 `configurationId` 对。保存该文件。

   例如，如果要测试名为的存储库{{MyFirstTrigger}}中名为的触发器以{{MyDemoRepo}}使其适用于所有分支，请将替换为，`repositoryName`然后将外观类似于以下内容的文件保存为{{TestTrigger.json}}：`configurationId`

   ```
   {
       "repositoryName": "{{MyDemoRepo}}", 
       "triggers": [
           {
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MyCodeCommitTopic", 
               "branches": [{{
                   "main", 
                   "preprod"}}
               ], 
               "name": "MyFirstTrigger", 
               "customData": "", 
               "events": [
                   "all"
               ]
           }  
       ]
   }
   ```

1. 在终端或命令行中，运行 **test-repository-triggers** 命令。这将更新存储库的所有触发器，包括您对{{MyFirstTrigger}}触发器所做的更改：

   ```
   aws codecommit test-repository-triggers --cli-input-json file://{{TestTrigger.json}}
   ```

   该命令将返回与以下示例类似的响应：

   ```
   {
       "successfulExecutions": [
           "MyFirstTrigger"
       ],
       "failedExecutions": []
   }
   ```