查看 AWS CodeCommit 存储库中的拉取请求 - AWS CodeCommit

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

查看 AWS CodeCommit 存储库中的拉取请求

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

查看拉取请求(控制台)

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

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

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

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

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

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

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

    • All pull requests (所有拉取请求):显示所有拉取请求。

    • Closed pull requests (已关闭的拉取请求):显示状态为 Closed (关闭) 的所有拉取请求。

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

    • My open pull requests (我的打开的拉取请求):显示您创建的状态为 Open (打开) 的所有拉取请求。

    • My closed pull requests (我的已关闭拉取请求):显示您创建的状态为 Closed (已关闭) 的所有拉取请求。

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

查看拉取请求 (AWS CLI)

要使用 AWS CLI 命令操作 CodeCommit,请安装 AWS CLI。有关更多信息,请参阅命令行参考

按照以下步骤来使用 AWS CLI 查看 CodeCommit 存储库中的拉取请求。

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

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

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

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

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

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

    例如,要列出在名为 MyDemoRepo 的 CodeCommit 存储库中由 ARN 为 arn:aws:iam::111111111111:user/Li_Juan 的 IAM 用户创建的状态为 CLOSED 的拉取请求,请运行以下命令:

    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 的存储库中的名为 my-feature-branch 的源分支的提示和名为 main 的目标分支的提示之间是否存在合并冲突,请运行以下命令:

    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" }