

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

# 批准或拒绝中的批准操作 CodePipeline
<a name="approvals-approve-or-reject"></a>

当管道包含审批操作时，管道执行在添加操作的那一点停止。管道将不会恢复，除非有人手动批准该操作。如果审批者拒绝该操作，或者在管道因审批操作停止后的七天内未收到审批响应，则管道状态将变为“Failed”。

如果向管道中添加审批操作的人员配置了通知功能，则您可能会收到一封包含管道信息和批准状态的电子邮件。

## 批准或拒绝审批操作（控制台）
<a name="approvals-approve-or-reject-console"></a>

如果您收到包含审批操作的直接链接的通知，请选择**批准或拒绝**链接，登录控制台，然后继续执行此处的步骤 7。否则，请按照所有以下步骤操作。

1. 打开 CodePipeline 控制台，网址为[https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/)。

1. 在 **All Pipelines** 页面上，选择管道名称。

1. 查找包含审批操作的阶段。选择**审核**。

   将显示**审核**对话框。**详细信息**选项卡显示审核内容和注释。  
![\[详细信息选项卡显示审核内容和注释。\]](http://docs.aws.amazon.com/zh_cn/codepipeline/latest/userguide/images/manual-approval-review-details.png)

   **修订**选项卡显示执行的源修订。  
![\[TThe “修订版本” 选项卡显示执行的源版本。\]](http://docs.aws.amazon.com/zh_cn/codepipeline/latest/userguide/images/manual-approval-review-revisions.png)

1. 在**详细信息**选项卡上，查看注释和 URL（如果有）。该消息还会显示内容的 URL 供您查看（如果已经包含）。

1. 如果提供了 URL，请选择操作中的**用于审阅的 URL** 链接以打开目标网页，然后审核内容。

1. 在**审核**窗口中，输入审核注释，例如您为何批准或拒绝操作，然后选择**批准**或**拒绝**。

1. 选择**提交**。

## 批准或拒绝审批请求（CLI）
<a name="approvals-approve-or-reject-cli"></a>

要使用 CLI 来响应审批操作，您必须先使用 **get-pipeline-state** 命令来检索与最近一次执行审批操作相关联的令牌。

1. 在终端（Linux、macOS 或 Unix）或命令提示符（Windows）上，在包含批准操作的管道上运行[get-pipeline-state](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html)命令。例如，对于名为 *MyFirstPipeline* 的管道，输入以下内容：

   ```
   aws codepipeline get-pipeline-state --name MyFirstPipeline
   ```

1. 在命令响应中，找到 `token` 值，该值显示在审批操作的 `actionStates` 部分的 `latestExecution` 中，如此处所示：

   ```
   {
       "created": 1467929497.204,
       "pipelineName": "MyFirstPipeline",
       "pipelineVersion": 1,
       "stageStates": [
           {
               "actionStates": [
                   {
                       "actionName": "MyApprovalAction",
                       "currentRevision": {
                           "created": 1467929497.204,
                           "revisionChangeId": "CEM7d6Tp7zfelUSLCPPwo234xEXAMPLE",
                           "revisionId": "HYGp7zmwbCPPwo23xCMdTeqIlEXAMPLE"
                       },
                       "latestExecution": {
                           "lastUpdatedBy": "identity",
                           "summary": "The new design needs to be reviewed before release.",
                           "token": "1a2b3c4d-573f-4ea7-a67E-XAMPLETOKEN"
                       }
                   }
   //More content might appear here
   }
   ```

1. 在纯文本编辑器中，创建一个 JSON 格式文件，您需要添加以下内容：
   + 包含审批操作的管道的名称。
   + 包含审批操作的阶段的名称。
   + 审批操作的名称。
   + 您在上一步中收集的令牌值。
   + 您对操作的响应（“批准”或“拒绝”）。此响应必须大写。
   + 您的摘要注释。

   对于之前的 *MyFirstPipeline* 示例，您的文件应类似如下所示：

   ```
   {
     "pipelineName": "MyFirstPipeline",
     "stageName": "MyApprovalStage",
     "actionName": "MyApprovalAction",
     "token": "1a2b3c4d-573f-4ea7-a67E-XAMPLETOKEN",
     "result": {
       "status": "Approved",
       "summary": "The new design looks good. Ready to release to customers."
     }
   }
   ```

1. 使用类似于 **approvalstage-approved.json** 的名称保存文件。

1. 运行[put-approval-result](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/put-approval-result.html)命令，指定批准 JSON 文件的名称，类似于以下内容：
**重要**  
务必在文件名前包含 `file://`。此命令中需要该项。

   ```
   aws codepipeline put-approval-result --cli-input-json file://approvalstage-approved.json
   ```