AWS CodeCommit リポジトリのプルリクエストを表示する - AWS CodeCommit

AWS CodeCommit リポジトリのプルリクエストを表示する

AWS CodeCommit コンソールまたは AWS CLI を使用してリポジトリーのプルリクエストを表示できます。デフォルトでは、開いているリクエストのみ表示されますが、フィルターを変更して、すべてのプルリクエスト、閉じているリクエストのみ、作成したプルリクエストのみなどを表示できます。

プルリクエストを表示する (コンソール)

AWS CodeCommit コンソールを使用して、CodeCommit リポジトリのプルリクエストを一覧表示できます。フィルターを変更することで、特定のプルリクエストのセットのみをリスト表示するよう変更できます。たとえば、作成したプルリクエストでステータスが [Open] のものを一覧表示したり、別のフィルターを選択して、作成したプルリクエストでステータスが [Closed] のものを表示したりできます。

  1. https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。

  2. [Repositories (リポジトリー)] で、プルリクエストを表示するリポジトリーの名前を選択します。

  3. ナビゲーションペインで、[Pull Requests (プルリクエスト)] を選択します。

  4. デフォルトでは、すべてのオープンプルリクエストが一覧表示されます。

    
            AWS CodeCommit コンソールに表示されているリクエストをプルします。
  5. 表示フィルターを変更するには、使用可能なフィルターのリストから選択します。

    • [Open pull requests] (デフォルト): ステータスが [Open] のすべてのプルリクエストが表示されます。

    • [All pull requests]: すべてのプルリクエストが表示されます。

    • [Closed pull requests]: ステータスが [Closed] のすべてのプルリクエストが表示されます。

    • [My pull requests (自分用のプルリクエスト)]: 作成したプルリクエストがステータスに関係なくすべて表示されます。自分がコメントした、または参加した評価は表示されません。

    • [My open pull requests (自分用の開いているプルリクエスト)]: 作成したプルリクエストでステータスが [Open] のものがすべて表示されます。

    • [My closed pull requests (自分用の閉じているプルリクエスト)]: 作成したプルリクエストでステータスが [Closed] のものがすべて表示されます。

  6. 表示されたリストに確認したいプルリクエストを見つけたら、それを選択します。

プルリクエストを表示する (AWS CLI)

CodeCommit で AWS CLI コマンドを使用するには、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. プルリクエストの詳細を表示するには、get-pull-request コマンドを実行します。この場合、--pull-request-id オプションでプルリクエストの 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) を使用。プルリクエストの現在のリビジョン ID を取得するには、get-pull-request コマンドを使用します。

    たとえば、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. プルリクエストのイベントを表示するには、describe-pull-request-events コマンドを実行します。この場合、--pull-request-id オプションでプルリクエストの 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 オプションで指定)

    例えば、my-feature-branch という名前のソースブランチの先端と、MyDemoRepo という名前のリポジトリ内の 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" }