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

Amazon CodeCommit 不再向新客户提供。 Amazon CodeCommit 的现有客户可以继续正常使用该服务。了解更多

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

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

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

查看拉取请求(控制台)

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

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

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

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

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

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

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

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

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

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

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

    • My closed pull requests (我的已关闭拉取请求):显示您创建的状态为 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 选项)。

    例如,要列出由名为 ARN arn:aws:iam::111111111111:user/Li_Juan 且状态为 IAM 用户在名为的 CodeCommit 仓库CLOSED中创建的拉取请求: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"] }

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

  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 为、修订版 ID 为的8拉取请求的批准情况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 选项)

    例如,要查看名为的源分支的尖端与名为的存储库main中名为my-feature-branch的目标分支之间是否存在任何合并冲突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" }