プルリクエストの作成 - AWS CodeCommit

プルリクエストの作成

プルリクエストを作成すると、他のユーザーがコード変更を他のブランチにマージする前にそのコードの変更を確認するのに役立ちます。まず、コード変更のためのブランチを作成します。これは、プルリクエストのソースブランチとして参照されます。変更をコミットしてリポジトリにプッシュすると、そのブランチ (送信元ブランチ) の内容と、プルリクエストがクローズされた後の変更をマージするブランチ (送信先ブランチ) とを比較するプルリクエストを作成できます。

AWS CodeCommit コンソールまたは AWS CLI を使用してリポジトリのプルリクエストを作成できます。

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

CodeCommit コンソールを使用して、CodeCommit リポジトリにプルリクエストを作成できます。リポジトリに通知が設定されている場合は、プルリクエストを作成すると、登録ユーザーに E メールが送信されます。

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

  2. リポジトリで、プルリクエストを作成するリポジトリの名前を選択します。

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

    ヒント

    また、プルリクエストは、[Branches] や [Code] から作成することもできます。

  4. [Create pull request] を選択します。

    
      CodeCommit コンソールの [Pull Requests] (プルリクエスト) ページでプルリクエストを作成します。
  5. [Create pull request] の [Source] で、レビューする変更が含まれるブランチを選択します。

  6. [送信先] で、プルリクエストがクローズされた際にコード変更をマージするブランチを確認します。

  7. [Compare] を選択します。比較は 2 つのブランチで実行され、それらの違いが表示されます。また、プルリクエストがクローズされたときに 2 つのブランチが自動的にマージできるかどうかを判断するための分析も実行されます。

  8. 比較の詳細と変更を確認し、プルリクエストにレビューする変更とコミットが含まれていることを確かめます。含まれていない場合、送信元と送信先のブランチを選択してから、再度 [Compare] を選択します。

  9. 比較結果に問題がなければ、[Title] に、このレビューの説明を示すタイトルを入力します。これは、リポジトリのプルリクエストのリストに表示されるタイトルです。

  10. (オプション) [Description (説明)] に、このレビューに関する詳細やレビューアにとって有益な情報を入力します。

  11. [Create] を選択します。

    
      プルリクエストの作成

プルリクエストは、リポジトリのプルリクエストのリストに表示されます。通知を設定した場合は、Amazon SNS トピックの受信者に新しく作成されたプルリクエストに関する情報が E メールで送信されます。

プルリクエストを作成する (AWS CLI)

CodeCommit で AWS CLI コマンドを使用するには、AWS CLI をインストールします。詳細については、「コマンドラインリファレンス」を参照してください。

AWS CLI を使用して CodeCommit リポジトリにプルリクエストを作成するには

  1. 次のように指定して create-pull-request コマンドを実行します。

    • プルリクエストの名前 (--title オプションを指定)。

    • プルリクエストの説明 (--description オプションを指定)。

    • create-pull-request コマンドのターゲットのリストは次の通りです。

      • プルリクエストが作成される CodeCommit リポジトリの名前 (repositoryName 属性付き)。

      • ソースブランチとも呼ばれるレビューするコードの変更を含むブランチの名前 (sourceReference 属性を使用)。

      • (オプション) デフォルトのブランチにマージしたくない場合は送信先ブランチとも呼ばれるコード変更をマージする予定のブランチの名前 (destinationReference 属性を使用)。

    • 冪等性の一意、クライアントで生成されたトークン (--client-request-token オプションを指定)。

    この例では、発音難易度アナライザーという名前のプルリクエストを作成し、jane-branch ソースブランチを対象とする火曜日までにこれらの変更を確認してくださいという説明を追加します。プルリクエストは、MyDemoRepo という名前の CodeCommit リポジトリのデフォルトのブランチ main にマージされます。

    aws codecommit create-pull-request --title "Pronunciation difficulty analyzer" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=jane-branch
  2. このコマンドが正常に実行されると、次のような出力が生成されます。

    { "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"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", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd3d22fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", "description": "Please review these changes by Tuesday", "title": "Pronunciation difficulty analyzer", "pullRequestTargets": [ { "destinationCommit": "5d036259EXAMPLE", "destinationReference": "refs/heads/main", "repositoryName": "MyDemoRepo", "sourceCommit": "317f8570EXAMPLE", "sourceReference": "refs/heads/jane-branch", "mergeMetadata": { "isMerged": false } } ], "lastActivityDate": 1508962823.285, "pullRequestId": "42", "clientRequestToken": "123Example", "pullRequestStatus": "OPEN", "creationDate": 1508962823.285 } }