在 CodePipeline 中批准或拒绝审批操作
当管道包含审批操作时,管道执行在添加操作的那一点停止。管道将不会恢复,除非有人手动批准该操作。如果审批者拒绝该操作,或者在管道因审批操作停止后的七天内未收到审批响应,则管道状态将变为“Failed”。
如果向管道中添加审批操作的人员配置了通知功能,则您可能会收到一封包含管道信息和批准状态的电子邮件。
批准或拒绝审批操作(控制台)
如果您收到包含审批操作的直接链接的通知,请选择批准或拒绝链接,登录控制台,然后继续执行此处的步骤 7。否则,请按照所有以下步骤操作。
在 https://console.aws.amazon.com/codepipeline/
打开 CodePipeline 控制台。 -
在 All Pipelines 页面上,选择管道名称。
-
查找包含审批操作的阶段。选择审核。
将显示审核对话框。详细信息选项卡显示审核内容和注释。
修订选项卡显示执行的源修订。
-
在详细信息选项卡上,查看注释和 URL(如果有)。该消息还会显示内容的 URL 供您查看(如果已经包含)。
-
如果提供了 URL,请选择操作中的用于审阅的 URL 链接以打开目标网页,然后审核内容。
-
在审核窗口中,输入审核注释,例如您为何批准或拒绝操作,然后选择批准或拒绝。
-
选择提交。
批准或拒绝审批请求(CLI)
要使用 CLI 来响应审批操作,您必须先使用 get-pipeline-state 命令来检索与最近一次执行审批操作相关联的令牌。
-
在终端(Linux、macOS 或 Unix)或命令提示符 (Windows) 处,对包含审批操作的管道运行 get-pipeline-state 命令。例如,对于名为
MyFirstPipeline
的管道,输入以下内容:aws codepipeline get-pipeline-state --name
MyFirstPipeline
-
在命令响应中,找到
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 } -
在纯文本编辑器中,创建一个 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.
" } } -
-
使用类似于
approvalstage-approved.json
的名称保存文件。 -
运行 put-approval-result 命令,并指定审批 JSON 文件的名称,类似于以下内容:
重要
务必在文件名前包含
file://
。此命令中需要该项。aws codepipeline put-approval-result --cli-input-json file://
approvalstage-approved.json