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

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

查看拉取请求Amazon CodeCommit知识库

您可以使用 Amazon CodeCommit 控制台或 Amazon CLI 查看存储库的拉取请求。默认情况下,虽然您只会看到处于打开状态的拉取请求,但您可以更改筛选器以查看所有拉取请求、仅查看关闭的请求、仅查看您创建的拉取请求等。

查看拉取请求(控制台)

您可以使用Amazon CodeCommit控制台以查看 CodeCommit 存储库中的拉取请求列表。通过更改筛选器,可以更改列表显示,使其仅显示一组特定的拉取请求。例如,您可以查看您创建的状态为 Open 的拉取请求列表,也可以选择不同的筛选器并查看您创建的状态为 Closed 的拉取请求。

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

  2. Repositories (存储库) 中,选择要在其中查看拉取请求的存储库的名称。

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

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

    
            显示的拉取请求Amazon CodeCommit控制台。
  5. 要更改显示筛选器,请从可用筛选器列表中选择:

    • 打开拉取请求(默认):显示状态为的所有拉取请求打开.

    • 所有拉取请求:显示所有拉取请求。

    • 关闭的拉取请求:显示状态为的所有拉取请求Closed.

    • 我的拉取请求:显示您创建的所有拉取请求,而不考虑状态。这不会显示您注释过或参与的评论。

    • 我的打开的拉取请求:显示您创建的状态为的所有拉取请求打开.

    • 我已关闭的拉取请求:显示您创建的状态为的所有拉取请求Closed.

  6. 在显示列表中找到要查看的拉取请求时,将其选中。

查看拉取请求 (Amazon CLI)

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

按照以下步骤操作,使用Amazon CLI以查看 CodeCommit 存储库中的拉取请求。

  1. 要查看存储库中的拉取请求列表,请运行 list-pull-requests 命令,并且指定:

    • 要查看拉取请求的 CodeCommit 存储库的名称(使用--repository-name选项)。

    • (可选)拉取请求的状态(使用 --pull-request-status 选项)。

    • (可选)创建拉取请求的 IAM 用户的 Amazon 资源名称 (ARN)(使用--author-arn选项)。

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

    • (可选)对每个请求返回结果数的限制(使用 --max-results 选项)。

    例如,列出由 IAM 用户使用 ARN 创建的拉取请求arn: aws: iam። 1111111111: 用户/li_Juan以及的状态关闭在名为的 CodeCommit 存储库中MyDemoRepo

    aws codecommit list-pull-requests --author-arn arn:aws:iam::111111111111:user/Li_Juan --pull-request-status CLOSED --repository-name MyDemoRepo

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

    { "nextToken": "", "pullRequestIds": ["2","12","16","22","23","35","30","39","47"] }

    拉取请求 ID 按照最近活动的顺序显示。

  2. 要查看某个拉取请求的详细信息,请运行带 --pull-request-id 选项的 get-pull-request 命令,并指定该拉取请求的 ID。例如,要查看 ID 为 27 的拉取请求的有关信息,请运行以下命令:

    aws codecommit get-pull-request --pull-request-id 27

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

    { "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-main", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "lastActivityDate": 1562619583.565, "pullRequestTargets": [ { "sourceCommit": "ca45e279EXAMPLE", "sourceReference": "refs/heads/bugfix-1234", "mergeBase": "a99f5ddbEXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": false }, "destinationCommit": "2abfc6beEXAMPLE", "repositoryName": "MyDemoRepo" } ], "revisionId": "e47def21EXAMPLE", "title": "Quick fix for bug 1234", "authorArn": "arn:aws:iam::123456789012:user/Nikhil_Jayashankar", "clientRequestToken": "d8d7612e-EXAMPLE", "creationDate": 1562619583.565, "pullRequestId": "27", "pullRequestStatus": "OPEN" } }
  3. 要查看拉取请求的审批状态,请运行 get-pull-request-approval-state 命令,并指定:

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

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

    例如,要查看 ID 为 8 且修订 ID 为 9f29d167EXAMPLE 的拉取请求的审批状态,请运行以下命令:

    aws codecommit get-pull-request-approval-state --pull-request-id 8 --revision-id 9f29d167EXAMPLE

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

    { "approvals": [ { "userArn": "arn:aws:iam::123456789012:user/Mary_Major", "approvalState": "APPROVE" } ] }
  4. 要查看某个拉取请求中的事件,请运行带 --pull-request-id 选项的 describe-pull-request-events 命令,并指定该拉取请求的 ID。例如,要查看 ID 为 8 的拉取请求的事件,请执行以下操作:

    aws codecommit describe-pull-request-events --pull-request-id 8

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

    { "pullRequestEvents": [ { "pullRequestId": "8", "pullRequestEventType": "PULL_REQUEST_CREATED", "eventDate": 1510341779.53, "actor": "arn:aws:iam::111111111111:user/Zhang_Wei" }, { "pullRequestStatusChangedEventMetadata": { "pullRequestStatus": "CLOSED" }, "pullRequestId": "8", "pullRequestEventType": "PULL_REQUEST_STATUS_CHANGED", "eventDate": 1510341930.72, "actor": "arn:aws:iam::111111111111:user/Jane_Doe" } ] }
  5. 要查看拉取请求是否存在合并冲突,请运行 get-merge-conflicts 命令,并指定:

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

    • 要在合并评估中使用的变更源的分支、标签、HEAD 或其他完全限定的引用(使用 --source-commit-specifier 选项)。

    • 要在合并评估中使用的变更目标的分支、标签、HEAD 或其他完全限定的引用(使用 --destination-commit-specifier 选项)。

    • 要使用的合并选项(使用 --merge-option 选项)

    例如,要查看名为的源分支的提示之间是否存在合并冲突,请执行以下操作:我的功能分支和名为的目的地分支主要的在名为的仓库中MyDemoRepo

    aws codecommit get-merge-conflicts --repository-name MyDemoRepo --source-commit-specifier my-feature-branch --destination-commit-specifier main --merge-option FAST_FORWARD_MERGE

    如果成功,该命令返回类似以下内容的输出:

    { "destinationCommitId": "fac04518EXAMPLE", "mergeable": false, "sourceCommitId": "16d097f03EXAMPLE" }