审核拉取请求 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

审核拉取请求

您可以使用 Amazon CodeCommit 控制台审核拉取请求中包含的更改。您可以向请求、文件和特定代码行添加评论。您还可以回复其他用户所做的评论。如果存储库已配置通知,您将在用户回复您的评论或用户评论拉取请求时收到电子邮件。

您可以使用 Amazon CLI 评论拉取请求和回复评论。要审核更改,您必须使用 CodeCommit 控制台git diff命令或差异工具。

审核拉取请求(控制台)

您可以使用 CodeCommit 控制台在 CodeCommit 存储库中审核拉取请求。

  1. 从打开 CodeCommit 控制台https://console.aws.amazon.com/codesuite/codecommit/home.

  2. 存储库中,选择存储库的名称。

  3. 在导航窗格中,选择拉取请求

  4. 默认情况下,会显示所有处于打开状态的拉取请求的列表。选择要审核的处于打开状态的拉取请求。

    
                        控制台中显示处于打开状态 CodeCommit 拉取请求。
    注意

    您可以对已关闭或已合并的拉取请求进行注释,但不能合并或重新打开该请求。

  5. 在拉取请求中,选择 Changes

  6. 请执行下列操作之一:

    • 要为整个拉取请求添加一般注释,请在 Comments on changes (更改注释)New comment (新建注释) 中,输入注释,然后选择 Save (保存)。您可以使用 Markdown,也可以纯文本格式输入评论。

      
                                对拉取请求中更改的一般评论。
    • 要向提交中的文件添加评论,请在 Changes 中找到该文件的名称。选择显示在文件名旁的注释图标 ,输入注释,然后选择 Save (保存)

      
                                在拉取请求中添加对文件的评论。
    • 要向拉取请求中的已更改行添加评论,请在 Changes 中转到要评论的行。选择为该行显示的注释图标 ,输入注释,然后选择 Save (保存)

      
                                在拉取请求中添加对行的评论。
  7. 要回复对提交的评论,请在 ChangesActivity 中,选择 Reply。你可以用文字和表情符号回复。

    
                        向评论中添加回复和表情符号反应。

    你可以通过选择一个特定的表情符号反应回复来查看那些回复的人的姓名。要查看所有表情符号反应和有关谁用什么表情符号回应的信息,请选择查看全部反应. 如果您使用表情符号回复评论,则您的回复将显示在表情符号反应按钮的图标中。

    注意

    自页面加载时起,控制台中显示的反应计数是准确的。有关表情符号反应计数的最新信息,请刷新页面,或者选择查看全部反应.

    
                        查看有关用表情符号反应回应评论的用户的信息。
  8. (可选)要回复 Amazon CodeGuru Reviewer 创建的建议,包括对建议的质量提供反馈,请选择Reply. 可使用反应按钮,提供有关您是批准还是不批准建议的一般信息。您可使用注释字段,提供有关反应的详细信息。

    注意

    Amazon CodeGuru Reviewer 是一个自动代码审查服务,它使用程序分析和机器学习来检测 Java 或 Python 代码中的常见问题并推荐修复方法。

    • 只有当您已将存储库与 Amazon CodeGuru Reviewer 关联,分析已完成,并且拉取请求中的代码是 Java 或 Python 代码时,才会看到 Amazon CodeGuru 审查器评论。有关更多信息,请参阅 关联或取消关联Amazon CodeCommit亚马逊存储库CodeGuru审核器

    • 亚马逊 CodeGuru Reviewer 评论仅出现在更改选项卡,如果评论是对拉取请求的最新修订版本做出的评论。它们总是出现在活动选项卡。

    • 虽然您可以对 Amazon CodeGuru Reviewer 建议使用任何可用的表情符号反应做出回应,但只使用竖起大拇指和向下表情符号反应来评估该建议的有用性。

    
                        由亚马逊 CodeGuru Reviewer 创建的建议,正在进行审核工作。
  9. 要审批拉取请求中所做的更改,请选择 Approve (审批)

    注意

    您无法批准自己创建的拉取请求。

    您可以在 Approvals (审批) 中,查看审批、拉取请求的审批规则以及由审批规则模板创建的审批规则。如果您最终决定不希望审批拉取请求,则可选择 Revoke approval (撤销审批)

    注意

    您只能对处于打开状态的拉取请求进行审批或撤销审批。不能对状态为“已合并”或“已关闭”的拉取请求进行审批或撤销审批。

    
                        拉取请求中的审批和审批规则。

审核拉取请求 (Amazon CLI)

使用Amazon CLI使用 CodeCommit 的命令,请安装Amazon CLI. 有关更多信息,请参阅 命令行参考

您可以使用以下内容查看拉取请求Amazon CLI命令:

您还可以使用以下命令在拉取请求中使用带有注释的 emoji:

使用Amazon CLI,用户审核 CodeCommit 存储库中的拉取请求

  1. 要向存储库中的拉取请求添加评论,请运行 post-comment-for-pull-request 命令,并且指定:

    • 拉取请求的 ID(使用 --pull-request-id 选项)。

    • 包含拉取请求的存储库的名称(使用 --repository-name 选项)。

    • 将在其中合并拉取请求的目标分支中的提交的完整提交 ID(使用 --before-commit-id 选项)。

    • 源分支中的提交的完整提交 ID,它在发布评论时作为拉取请求的分支的当前提示(使用 --after-commit-id 选项)。

    • 客户端生成的唯一等幂令牌(使用 --client-request-token 选项)。

    • 您的评论的内容(使用 --content 选项)。

    • 有关评论放置位置信息的列表,包括:

      • 所比较文件的名称,包括其扩展名和子目录(如果有,则使用 filePath 属性)。

      • 在比较文件中更改的行号(使用 filePosition 属性)。

      • 对更改的评论在源分支与目标分支之间比较“之前”还是“之后”(使用 relativeFileVersion 属性)。

    例如,可使用此命令将注释添加评论。“这些内容看起来不会用在任何位置。我们能否将其删除?” 关于更改ahs_count.py带有 ID 为的拉取请求中的文件47在名为的存储库中MyDemoRepo.

    aws codecommit post-comment-for-pull-request --pull-request-id "47" --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content "These don't appear to be used anywhere. Can we remove them?" --location filePath=ahs_count.py,filePosition=367,relativeFileVersion=AFTER

    如果成功,该命令产生类似以下内容的输出。

    { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "123Example", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": [] } "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "47" }
  2. 要查看拉取请求的评论,请运行 get-comments-for-pull-request 命令,并且指定:

    • CodeCommit 存储库的名称(使用--repository-name选项)。

    • 系统生成的拉取请求的 ID(使用 --pull-request-id 选项)。

    • (可选)要返回下一批结果的枚举令牌(使用 --next-token 选项)。

    • (可选) 一个用于限制返回的结果数的非负整数 (使用 --max-results 选项)。

    例如,可使用此命令查看 ID 为 42 的拉取请求的注释。

    aws codecommit get-comments-for-pull-request --pull-request-id 42

    如果成功,该命令产生类似以下内容的输出。

    { "commentsForPullRequestData": [ { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 6, "CONFUSED" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.104, "deleted": false, "lastModifiedDate": 150836912.273, "callerReactions": ["THUMBSUP"] "reactionCounts": { "THUMBSUP" : 14 } } ], "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "42" } ], "nextToken": "exampleToken" }
  3. 要对拉取请求进行审批或撤销审批,请运行 update-pull-request-approval-state 命令,并指定:

    • 拉取请求的 ID(使用 --pull-request-id 选项)。

    • 拉取请求的修订 ID(使用 --revision-id option))。您可以使用 get-pull-request 命令获取拉取请求的当前修订 ID。

    • 要应用的审批状态(使用 --approval-state 选项)。有效的审批状态包括 APPROVEREVOKE

    例如,可使用此命令对 ID 为 27 且修订 ID 为 9f29d167EXAMPLE 的拉取请求进行审批。

    aws codecommit update-pull-request-approval-state --pull-request-id 27 --revision-id 9f29d167EXAMPLE --approval-state "APPROVE"

    如果成功,该命令不返回任何内容。

  4. 要在拉取请求中发布对评论的回复,请运行 post-comment-reply 命令,并且指定:

    • 要回复的评论的系统生成的 ID(使用 --in-reply-to 选项)。

    • 客户端生成的唯一等幂令牌(使用 --client-request-token 选项)。

    • 您的回复的内容(使用 --content 选项)。

    例如,可使用此命令将回复。“抓得很好。我将删除它们。” 添加到系统生成的 ID 为的评论ABCD1234 示例 b5678efGH.

    aws codecommit post-comment-reply --in-reply-to abcd1234EXAMPLEb5678efgh --content "Good catch. I'll remove them." --client-request-token 123Example

    如果成功,该命令产生类似以下内容的输出。

    { "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.136, "deleted": false, "lastModifiedDate": 150836912.221, "callerReactions": [], "reactionCounts": [] } }