AWS CLI を使用した CodeCommit の例 - AWS Command Line Interface

このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。

AWS CLI を使用した CodeCommit の例

次のコード例は、CodeCommit で AWS Command Line Interfaceを使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次のコード例は、associate-approval-rule-template-with-repository を使用する方法を示しています。

AWS CLI

承認ルールテンプレートをリポジトリに関連付けるには

次の associate-approval-rule-template-with-repository の例では、指定された承認ルールテンプレートを MyDemoRepo という名前のリポジトリに関連付けます。

aws codecommit associate-approval-rule-template-with-repository \ --repository-name MyDemoRepo \ --approval-rule-template-name 2-approver-rule-for-main

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Associate an Approval Rule Template with a Repository」を参照してください。

次のコード例は、batch-associate-approval-rule-template-with-repositories を使用する方法を示しています。

AWS CLI

1 回のオペレーションで複数のリポジトリに承認ルールテンプレートを関連付けるには

次の batch-associate-approval-rule-template-with-repositories の例では、指定された承認ルールテンプレートを MyDemoRepo および MyOtherDemoRepo という名前のリポジトリに関連付けます。

注意: 承認ルールテンプレートは、それらが作成される AWS リージョンに固有です。それらは、その AWS リージョンのリポジトリにのみ関連付けることができます。

aws codecommit batch-associate-approval-rule-template-with-repositories \ --repository-names MyDemoRepo, MyOtherDemoRepo \ --approval-rule-template-name 2-approver-rule-for-main

出力:

{ "associatedRepositoryNames": [ "MyDemoRepo", "MyOtherDemoRepo" ], "errors": [] }

詳細については、「AWS CodeCommit ユーザーガイド」の「Associate an Approval Rule Template with a Repository」を参照してください。

次の例は、batch-describe-merge-conflicts を使用する方法を説明しています。

AWS CLI

2 つのコミット識別子間のマージにおいて、すべてのファイルまたはファイルのサブセットにあるマージ競合についての情報を取得するには

次の batch-describe-merge-conflicts の例では、feature-randomizationfeature という名前の送信元ブランチと main という名前の送信先ブランチを MyDemoRepo という名前のリポジトリで THREE_WAY_MERGE 戦略を使用してマージするときのマージ競合を判断します。

aws codecommit batch-describe-merge-conflicts \ --source-commit-specifier feature-randomizationfeature \ --destination-commit-specifier main \ --merge-option THREE_WAY_MERGE \ --repository-name MyDemoRepo

出力:

{ "conflicts": [ { "conflictMetadata": { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } }, "mergeHunks": [ { "isConflict": true, "source": { "startLine": 0, "endLine": 3, "hunkContent": "VGhpcyBpEXAMPLE==" }, "destination": { "startLine": 0, "endLine": 1, "hunkContent": "VXNlIHRoEXAMPLE=" } } ] } ], "errors": [], "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b6958EXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Resolve Conflicts in a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「BatchDescribeMergeConflicts」を参照してください。

次の例は、batch-disassociate-approval-rule-template-from-repositories を使用する方法を説明しています。

AWS CLI

1 回のオペレーションで複数のリポジトリから承認ルールテンプレートの関連付けを解除するには

次の batch-disassociate-approval-rule-template-from-repositories の例では、指定された承認ルールテンプレートと MyDemoRepo および MyOtherDemoRepo という名前のリポジトリとの関連付けを解除します。

aws codecommit batch-disassociate-approval-rule-template-from-repositories \ --repository-names MyDemoRepo, MyOtherDemoRepo \ --approval-rule-template-name 1-approval-rule-for-all pull requests

出力:

{ "disassociatedRepositoryNames": [ "MyDemoRepo", "MyOtherDemoRepo" ], "errors": [] }

詳細については、「AWS CodeCommit ユーザーガイド」の「Disassociate an Approval Rule Template」を参照してください。

次のコード例は、batch-get-commits を使用する方法を示しています。

AWS CLI

複数のコミットに関する情報を表示するには

次の batch-get-commits の例では、指定されたコミットの詳細情報を表示します。

aws codecommit batch-get-commits \ --repository-name MyDemoRepo \ --commit-ids 317f8570EXAMPLE 4c925148EXAMPLE

出力:

{ "commits": [ { "additionalData": "", "committer": { "date": "1508280564 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "author": { "date": "1508280564 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "commitId": "317f8570EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "6e147360EXAMPLE" ], "message": "Change variable name and add new response element" }, { "additionalData": "", "committer": { "date": "1508280542 -0800", "name": "Li Juan", "email": "li_juan@example.com" }, "author": { "date": "1508280542 -0800", "name": "Li Juan", "email": "li_juan@example.com" }, "commitId": "4c925148EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "317f8570EXAMPLE" ], "message": "Added new class" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「View Commit Details」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「BatchGetCommits」を参照してください。

次のコード例は、batch-get-repositories を使用する方法を示しています。

AWS CLI

複数のリポジトリの詳細情報を表示するには

この例では、複数の AWS CodeCommit リポジトリの詳細情報を示しています。

aws codecommit batch-get-repositories \ --repository-names MyDemoRepo MyOtherDemoRepo

出力:

{ "repositoriesNotFound": [], "repositories": [ { "creationDate": 1429203623.625, "defaultBranch": "main", "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1430783812.0869999, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" "accountId": "111111111111" }, { "creationDate": 1429203623.627, "defaultBranch": "main", "repositoryName": "MyOtherDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyOtherDemoRepo", "lastModifiedDate": 1430783812.0889999, "repositoryDescription": "My other demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyOtherDemoRepo", "repositoryId": "cfc29ac4-b0cb-44dc-9990-f6f51EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" "accountId": "111111111111" } ], "repositoriesNotFound": [] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「BatchGetRepositories」を参照してください。

次のコード例は、create-approval-rule-template を使用する方法を示しています。

AWS CLI

承認ルールテンプレートを作成するには

次の create-approval-rule-template の例では、2-approver-rule-for-main ``. The template requires two users who assume the role of ``CodeCommitReview という名前の承認ルールテンプレートを作成し、main ブランチにマージする前にプルリクエストを承認します。

aws codecommit create-approval-rule-template \ --approval-rule-template-name 2-approver-rule-for-main \ --approval-rule-template-description "Requires two developers from the team to approve the pull request if the destination branch is main" \ --approval-rule-template-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

出力:

{ "approvalRuleTemplate": { "approvalRuleTemplateName": "2-approver-rule-for-main", "creationDate": 1571356106.936, "approvalRuleTemplateId": "dd8b17fe-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "Requires two developers from the team to approve the pull request if the destination branch is main", "lastModifiedDate": 1571356106.936, "ruleContentSha256": "4711b576EXAMPLE" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Create an Approval Rule Template」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateApprovalRuleTemplate」を参照してください。

次の例は、create-branch を使用する方法を説明しています。

AWS CLI

ブランチを作成するには

この例では、AWS CodeCommit リポジトリにブランチを作成しています。このコマンドは、エラーがある場合にのみ出力を生成します。

コマンド:

aws codecommit create-branch --repository-name MyDemoRepo --branch-name MyNewBranch --commit-id 317f8570EXAMPLE

出力:

None.
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateBranch」を参照してください。

次の例は、create-commit を使用する方法を説明しています。

AWS CLI

コミットを作成するには

次の create-commit の例では、main ブランチの MyDemoRepo という名前のリポジトリに readme.md ファイルを追加する、リポジトリの初期コミットを作成する方法を示します。

aws codecommit create-commit \ --repository-name MyDemoRepo \ --branch-name main \ --put-files "filePath=readme.md,fileContent='Welcome to our team repository.'"

出力:

{ "filesAdded": [ { "blobId": "5e1c309d-EXAMPLE", "absolutePath": "readme.md", "fileMode": "NORMAL" } ], "commitId": "4df8b524-EXAMPLE", "treeId": "55b57003-EXAMPLE", "filesDeleted": [], "filesUpdated": [] }

詳細については、「AWS CodeCommit ユーザーガイド」の「Create a Commit in AWS CodeCommit」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateCommit」を参照してください。

次の例は、create-pull-request-approval-rule を使用する方法を説明しています。

AWS CLI

プルリクエストの承認ルールを作成するには

次の create-pull-request-approval-rule の例では、指定されたプルリクエストに Require two approved approvers という名前の承認ルールを作成します。このルールは、承認プールから 2 つの承認が必要であることを指定しています。プールには、123456789012 AWS アカウントで CodeCommitReview のロールを引き受けて CodeCommit にアクセスするすべてのユーザーが含まれます。また、同じ AWS アカウントの Nikhil_Jayashankar という名前の IAM ユーザーまたはフェデレーションユーザーも含まれます。

aws codecommit create-pull-request-approval-rule \ --approval-rule-name "Require two approved approvers" \ --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

出力:

{ "approvalRule": { "approvalRuleName": "Require two approved approvers", "lastModifiedDate": 1570752871.932, "ruleContentSha256": "7c44e6ebEXAMPLE", "creationDate": 1570752871.932, "approvalRuleId": "aac33506-EXAMPLE", "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Create an Approval Rule」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreatePullRequestApprovalRule」を参照してください。

次のコード例は、create-pull-request を使用する方法を示しています。

AWS CLI

プルリクエストを作成するには

次の create-pull-request の例では、「火曜日までにこれらの変更を確認してください」という説明の付いた「Pronunciation difficulty analyzer」という名前のプルリクエストを作成します。このリクエストは「jane-branch」送信元ブランチを対象とし、「MyDemoRepo」という名前の AWS CodeCommit リポジトリのデフォルトブランチ「main」にマージされます。

aws codecommit create-pull-request \ --title "My Pull Request" \ --description "Please review these changes by Tuesday" \ --client-request-token 123Example \ --targets repositoryName=MyDemoRepo,sourceReference=MyNewBranch

出力:

{ "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 } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreatePullRequest」を参照してください。

次のコード例は、create-repository を使用する方法を示しています。

AWS CLI

リポジトリを作成するには

この例ではリポジトリを作成し、ユーザーの AWS アカウントと関連付けています。

コマンド:

aws codecommit create-repository --repository-name MyDemoRepo --repository-description "My demonstration repository"

出力:

{ "repositoryMetadata": { "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1444766838.027, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-1:111111111111EXAMPLE:MyDemoRepo", "accountId": "111111111111" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateRepository」を参照してください。

次の例は、create-unreferenced-merge-commit を使用する方法を説明しています。

AWS CLI

2 つのコミット指定子をマージした結果を表す非参照コミットを作成するには

次の create-unreferenced-merge-commit の例では、MyDemoRepo という名前のリポジトリで THREE_WAY_MERGE 戦略を使用して、bugfix-1234 という名前の送信元ブランチと main という名前の送信先ブランチ間のマージ結果を表すコミットを作成します。

aws codecommit create-unreferenced-merge-commit \ --source-commit-specifier bugfix-1234 \ --destination-commit-specifier main \ --merge-option THREE_WAY_MERGE \ --repository-name MyDemoRepo \ --name "Maria Garcia" \ --email "maria_garcia@example.com" \ --commit-message "Testing the results of this merge."

出力:

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Resolve Conflicts in a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateUnreferencedMergeCommit」を参照してください。

次のコード例は、credential-helper を使用する方法を示しています。

AWS CLI

AWS CodeCommit を使用して AWS CLI に含まれる認証情報ヘルパーを設定するには

credential-helper ユーティリティは、AWS CLI から直接呼び出されるように設計されていません。代わりに、ローカルコンピュータをセットアップするための git config コマンドでパラメータとして使用することを目的としています。Git が CodeCommit リポジトリとの通信で AWS に対する認証を必要とする場合は、HTTPS と暗号化された署名済みバージョンの IAM ユーザー認証情報または Amazon EC2 インスタンスロールを Git で使用できます。

git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true

出力:

[credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true

詳細については、「AWS CodeCommit ユーザーガイド」の「Setting up for AWS CodeCommit Using Other Methods」を参照してください。内容を注意深く読み、「AWS CodeCommit ユーザーガイド」の「For HTTPS Connections on Linux, macOS, or Unix」または「For HTTPS Connections on Windows」のいずれかのトピックに記載されている手順に従います。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CredentialHelper」を参照してください。

次の例は、delete-approval-rule-template を使用する方法を説明しています。

AWS CLI

承認ルールテンプレートを削除するには

次の delete-approval-rule-template の例では、指定された承認ルールテンプレートを削除します。

aws codecommit delete-approval-rule-template \ --approval-rule-template-name 1-approver-for-all-pull-requests

出力:

{ "approvalRuleTemplateId": "41de97b7-EXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Delete an Approval Rule Template」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteApprovalRuleTemplate」を参照してください。

次のコード例は、delete-branch を使用する方法を示しています。

AWS CLI

ブランチを削除するには

この例では、AWS CodeCommit リポジトリでブランチを削除する方法を示しています。

コマンド:

aws codecommit delete-branch --repository-name MyDemoRepo --branch-name MyNewBranch

出力:

{ "branch": { "commitId": "317f8570EXAMPLE", "branchName": "MyNewBranch" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteBranch」を参照してください。

次のコード例は、delete-comment-content を使用する方法を示しています。

AWS CLI

コメントの内容を削除するには

コメントを自分で作成した場合のみコメントのコンテンツを削除できます。この例では、システム生成 ID が ff30b348EXAMPLEb9aa670f のコメントの内容を削除する方法を示しています。

aws codecommit delete-comment-content \ --comment-id ff30b348EXAMPLEb9aa670f

出力:

{ "comment": { "creationDate": 1508369768.142, "deleted": true, "lastModifiedDate": 1508369842.278, "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "callerReactions": [], "reactionCounts": { "CLAP" : 1 } } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteCommentContent」を参照してください。

次のコード例は、delete-file を使用する方法を示しています。

AWS CLI

ファイルを削除するには

次の delete-file の例は、MyDemoRepo という名前のリポジトリで、最新のコミット ID が c5709475EXAMPLE のブランチ main から README.md という名前のファイルを削除する方法を示します。

aws codecommit delete-file \ --repository-name MyDemoRepo \ --branch-name main \ --file-path README.md \ --parent-commit-id c5709475EXAMPLE

出力:

{ "blobId":"559b44fEXAMPLE", "commitId":"353cf655EXAMPLE", "filePath":"README.md", "treeId":"6bc824cEXAMPLE" }

詳細については、「AWS CodeCommit API リファレンス」ガイドの「Edit or Delete a File in AWS CodeCommit」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteFile」を参照してください。

次の例は、delete-pull-request-approval-rule を使用する方法を説明しています。

AWS CLI

プルリクエストの承認ルールを削除するには

次の delete-pull-request-approval-rule の例では、指定されたプルリクエストの My Approval Rule という名前の承認ルールを削除しています。

aws codecommit delete-pull-request-approval-rule \ --approval-rule-name "My Approval Rule" \ --pull-request-id 15

出力:

{ "approvalRuleId": "077d8e8a8-EXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Edit or Delete an Approval Rule」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeletePullRequestApprovalRule」を参照してください。

次の例は、delete-repository を使用する方法を説明しています。

AWS CLI

リポジトリを削除するには

この例では、AWS CodeCommit リポジトリを削除する方法を示しています。

コマンド:

aws codecommit delete-repository --repository-name MyDemoRepo

出力:

{ "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteRepository」を参照してください。

次のコード例は、describe-merge-conflicts を使用する方法を示しています。

AWS CLI

マージの競合に関する詳細情報を取得するには

次の describe-merge-conflicts の例では、THREE_WAY_MERGE 戦略を使用して、指定された送信元ブランチと送信先ブランチで readme.md という名前のファイルのマージの競合を判別します。

aws codecommit describe-merge-conflicts \ --source-commit-specifier feature-randomizationfeature \ --destination-commit-specifier main \ --merge-option THREE_WAY_MERGE \ --file-path readme.md \ --repository-name MyDemoRepo

出力:

{ "conflictMetadata": { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } }, "mergeHunks": [ { "isConflict": true, "source": { "startLine": 0, "endLine": 3, "hunkContent": "VGhpcyBpEXAMPLE=" }, "destination": { "startLine": 0, "endLine": 1, "hunkContent": "VXNlIHRoEXAMPLE=" } } ], "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b69580EXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Resolve Conflicts in a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeMergeConflicts」を参照してください。

次の例は、describe-pull-request-events を使用する方法を説明しています。

AWS CLI

プルリクエストのイベントを表示するには

次の describe-pull-request-events の例では、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" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribePullRequestEvents」を参照してください。

次の例は、disassociate-approval-rule-template-from-repository を使用する方法を説明しています。

AWS CLI

承認ルールテンプレートをリポジトリから関連付け解除するには

次の disassociate-approval-rule-template-from-repository の例では、指定された承認ルールテンプレートを MyDemoRepo という名前のリポジトリから関連付け解除しています。

aws codecommit disassociate-approval-rule-template-from-repository \ --repository-name MyDemoRepo \ --approval-rule-template-name 1-approver-rule-for-all-pull-requests

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Disassociate an Approval Rule Template」を参照してください。

次のコード例は、evaluate-pull-request-approval-rules を使用する方法を示しています。

AWS CLI

プルリクエストの承認ルールがすべて満たされているかどうかを評価するには

次の evaluate-pull-request-approval-rules の例では、指定されたプルリクエストの承認ルールの状態を評価しています。この例では、プルリクエストの承認ルールが満たされていないため、コマンドの出力には approved の値として false が表示されます。

aws codecommit evaluate-pull-request-approval-rules \ --pull-request-id 27 \ --revision-id 9f29d167EXAMPLE

出力:

{ "evaluation": { "approved": false, "approvalRulesNotSatisfied": [ "Require two approved approvers" ], "overridden": false, "approvalRulesSatisfied": [] } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Merge a Pull Request」を参照してください。

次の例は、get-approval-rule-template を使用する方法を説明しています。

AWS CLI

承認ルールテンプレートの内容を取得するには

次の get-approval-rule-template の例では、1-approver-rule-for-all-pull-requests という名前の承認ルールテンプレートの内容を取得しています。

aws codecommit get-approval-rule-template \ --approval-rule-template-name 1-approver-rule-for-all-pull-requests

出力:

{ "approvalRuleTemplate": { "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "ruleContentSha256": "621181bbEXAMPLE", "lastModifiedDate": 1571356106.936, "creationDate": 1571356106.936, "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan", "approvalRuleTemplateId": "a29abb15-EXAMPLE", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team." } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetApprovalRuleTemplate」を参照してください。

次のコード例は、get-blob を使用する方法を示しています。

AWS CLI

Git blob オブジェクトに関する情報を表示するには

次の get-blob の例では、「MyDemoRepo」という名前の AWS CodeCommit リポジトリで、ID が「2eb4af3bEXAMPLE」の Git blob に関する情報を取得しています。

aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE

出力:

{ "content": "QSBCaW5hcnkgTGFyToEXAMPLE=" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetBlob」を参照してください。

次のコード例は、get-branch を使用する方法を示しています。

AWS CLI

ブランチに関する情報を取得するには

この例では、AWS CodeCommit リポジトリ内のブランチに関する情報を取得しています。

コマンド:

aws codecommit get-branch --repository-name MyDemoRepo --branch-name MyNewBranch

出力:

{ "BranchInfo": { "commitID": "317f8570EXAMPLE", "branchName": "MyNewBranch" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetBranch」を参照してください。

次の例は、get-comment-reactions を使用する方法を説明しています。

AWS CLI

コメントへの絵文字リアクションを表示するには

次の get-comment-reactions の例では、ID が abcd1234EXAMPLEb5678efgh のコメントに対するすべての絵文字リアクションを一覧表示しています。シェルのフォントが絵文字バージョン 1.0 の表示をサポートしている場合、emoji の出力に絵文字が表示されます。

aws codecommit get-comment-reactions \ --comment-id abcd1234EXAMPLEb5678efgh

出力:

{ "reactionsForComment": { [ { "reaction": { "emoji:"??", "shortCode": "thumbsup", "unicode": "U+1F44D" }, "users": [ "arn:aws:iam::123456789012:user/Li_Juan", "arn:aws:iam::123456789012:user/Mary_Major", "arn:aws:iam::123456789012:user/Jorge_Souza" ] }, { "reaction": { "emoji": "??", "shortCode": "thumbsdown", "unicode": "U+1F44E" }, "users": [ "arn:aws:iam::123456789012:user/Nikhil_Jayashankar" ] }, { "reaction": { "emoji": "??", "shortCode": "confused", "unicode": "U+1F615" }, "users": [ "arn:aws:iam::123456789012:user/Saanvi_Sarkar" ] } ] } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Comment on a commit in AWS CodeCommit」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetCommentReactions」を参照してください。

次の例は、get-comment を使用する方法を説明しています。

AWS CLI

コメントの詳細を表示するには

この例では、システム生成コメント ID が ff30b348EXAMPLEb9aa670f のコメントの詳細を表示する方法を示しています。

aws codecommit get-comment \ --comment-id ff30b348EXAMPLEb9aa670f

出力:

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "content": "Whoops - I meant to add this comment to the line, but I don't see how to delete it.", "creationDate": 1508369768.142, "deleted": false, "commentId": "", "lastModifiedDate": 1508369842.278, "callerReactions": [], "reactionCounts": { "SMILE" : 6, "THUMBSUP" : 1 } } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetComment」を参照してください。

次の例は、get-comments-for-compared-commit を使用する方法を説明しています。

AWS CLI

コミットについてのコメントを表示するには

この例では、MyDemoRepo という名前のリポジトリで 2 つのコミット間の比較に対して作成されたコメントを表示する方法を示しています。

aws codecommit get-comments-for-compared-commit \ --repository-name MyDemoRepo \ --before-commit-ID 6e147360EXAMPLE \ --after-commit-id 317f8570EXAMPLE

出力:

{ "commentsForComparedCommitData": [ { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "317f8570EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "6e147360EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "content": "Whoops - I meant to add this comment to the line, not the file, but I don't see how to delete it.", "creationDate": 1508369768.142, "deleted": false, "CommentId": "123abc-EXAMPLE", "lastModifiedDate": 1508369842.278, "callerReactions": [], "reactionCounts": { "SMILE" : 6, "THUMBSUP" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "553b509bEXAMPLE56198325", "content": "Can you add a test case for this?", "creationDate": 1508369612.240, "deleted": false, "commentId": "456def-EXAMPLE", "lastModifiedDate": 1508369612.240, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 2 } } ], "location": { "filePath": "cl_sample.js", "filePosition": 1232, "relativeFileVersion": "after" }, "repositoryName": "MyDemoRepo" } ], "nextToken": "exampleToken" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetCommentsForComparedCommit」を参照してください。

次のコード例は、get-comments-for-pull-request を使用する方法を示しています。

AWS CLI

プルリクエストのコメントを表示するには

この例では、MyDemoRepo という名前のリポジトリにあるプルリクエストのコメントを表示する方法を示しています。

aws codecommit get-comments-for-pull-request \ --repository-name MyDemoRepo \ --before-commit-ID 317f8570EXAMPLE \ --after-commit-id 5d036259EXAMPLE

出力:

{ "commentsForPullRequestData": [ { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 6, "CONFUSED" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.104, "deleted": false, "lastModifiedDate": 150836912.273, "callerReactions": ["THUMBSUP"] "reactionCounts": { "THUMBSUP" : 14 } } ], "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "42" } ], "nextToken": "exampleToken" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetCommentsForPullRequest」を参照してください。

次のコード例は、get-commit を使用する方法を示しています。

AWS CLI

リポジトリのコミットに関する情報を表示するには

この例では、「MyDemoRepo」という名前の AWS CodeCommit リポジトリで、システム生成 ID が「7e9fd3091thisisanexamplethisisanexample1」のコミットに関する詳細を示しています。

コマンド:

aws codecommit get-commit --repository-name MyDemoRepo --commit-id 7e9fd3091thisisanexamplethisisanexample1

出力:

{ "commit": { "additionalData": "", "committer": { "date": "1484167798 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "author": { "date": "1484167798 -0800", "name": "Mary Major", "email": "mary_major@example.com" }, "treeId": "347a3408thisisanexampletreeidexample", "parents": [ "7aa87a031thisisanexamplethisisanexample1" ], "message": "Fix incorrect variable name" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetCommit」を参照してください。

次のコード例は、get-differences を使用する方法を示しています。

AWS CLI

リポジトリ内のコミット指定子の違いに関する情報を取得するには

この例では、MyDemoRepo という名前の AWS CodeCommit リポジトリにある名前が変更されたフォルダ内の 2 つのコミット指定子 (ブランチ、タグ、HEAD、またはコミット ID などの他の完全修飾参照) の間の変更に関するメタデータ情報を示しています。この例では、これらのオプションを使用して結果を制限する方法をより詳細に説明するために、--before-commit-specifier、--before-path、--after-path などの必須ではないオプションがいくつか含まれています。レスポンスには、ファイルモードのアクセス許可が含まれます。

コマンド:

aws codecommit get-differences --repository-name MyDemoRepo --before-commit-specifier 955bba12thisisanexamplethisisanexample --after-commit-specifier 14a95463thisisanexamplethisisanexample --before-path tmp/example-folder --after-path tmp/renamed-folder

出力:

{ "differences": [ { "afterBlob": { "path": "blob.txt", "blobId": "2eb4af3b1thisisanexamplethisisanexample1", "mode": "100644" }, "changeType": "M", "beforeBlob": { "path": "blob.txt", "blobId": "bf7fcf281thisisanexamplethisisanexample1", "mode": "100644" } } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetDifferences」を参照してください。

次のコード例は、get-file を使用する方法を示しています。

AWS CLI

AWS CodeCommit リポジトリ内のファイルの base-64 でエンコードされた内容を取得するには

次の get-file の例では、MyDemoRepo という名前のリポジトリ内の main という名前のブランチから、README.md という名前のファイルの base-64 でエンコードされた内容を取得する方法を示しています。

aws codecommit get-file \ --repository-name MyDemoRepo \ --commit-specifier main \ --file-path README.md

出力:

{ "blobId":"559b44fEXAMPLE", "commitId":"c5709475EXAMPLE", "fileContent":"IyBQaHVzEXAMPLE", "filePath":"README.md", "fileMode":"NORMAL", "fileSize":1563 }

詳細については、「AWS CodeCommit API リファレンス」ガイドの「GetFile」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetFile」を参照してください。

次のコード例は、get-folder を使用する方法を示しています。

AWS CLI

AWS CodeCommit リポジトリ内のフォルダの内容を取得するには

次の get-folder の例では、MyDemoRepo という名前のリポジトリから最上位フォルダの内容を取得する方法を示しています。

aws codecommit get-folder --repository-name MyDemoRepo --folder-path ""

出力:

{ "commitId":"c5709475EXAMPLE", "files":[ { "absolutePath":".gitignore", "blobId":"74094e8bEXAMPLE", "fileMode":"NORMAL", "relativePath":".gitignore" }, { "absolutePath":"Gemfile", "blobId":"9ceb72f6EXAMPLE", "fileMode":"NORMAL", "relativePath":"Gemfile" }, { "absolutePath":"Gemfile.lock", "blobId":"795c4a2aEXAMPLE", "fileMode":"NORMAL", "relativePath":"Gemfile.lock" }, { "absolutePath":"LICENSE.txt", "blobId":"0c7932c8EXAMPLE", "fileMode":"NORMAL", "relativePath":"LICENSE.txt" }, { "absolutePath":"README.md", "blobId":"559b44feEXAMPLE", "fileMode":"NORMAL", "relativePath":"README.md" } ], "folderPath":"", "subFolders":[ { "absolutePath":"public", "relativePath":"public", "treeId":"d5e92ae3aEXAMPLE" }, { "absolutePath":"tmp", "relativePath":"tmp", "treeId":"d564d0bcEXAMPLE" } ], "subModules":[], "symbolicLinks":[], "treeId":"7b3c4dadEXAMPLE" }

詳細については、「AWS CodeCommit API リファレンス」ガイドの「GetFolder」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetFolder」を参照してください。

次のコード例は、get-merge-commit を使用する方法を示しています。

AWS CLI

マージコミットに関する詳細情報を取得するには

次の get-merge-commit の例では、MyDemoRepo という名前のリポジトリで THREE_WAY_MERGE 戦略を使用して、main という名前の送信先ブランチと bugfix-bug1234 という名前の送信元ブランチのマージコミットに関する詳細を表示しています。

aws codecommit get-merge-commit \ --source-commit-specifier bugfix-bug1234 \ --destination-commit-specifier main \ --merge-option THREE_WAY_MERGE \ --repository-name MyDemoRepo

出力:

{ "sourceCommitId": "c5709475EXAMPLE", "destinationCommitId": "317f8570EXAMPLE", "baseCommitId": "fb12a539EXAMPLE", "mergeCommitId": "ffc4d608eEXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「View Commit Details」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetMergeCommit」を参照してください。

次のコード例は、get-merge-conflicts を使用する方法を示しています。

AWS CLI

プルリクエストにマージの競合があるかどうかを確認するには

次の get-merge-conflicts の例では、feature-randomizationfeature という名前の送信元ブランチの先端と、MyDemoRepo という名前のリポジトリ内の「main」という名前の送信先ブランチの間にマージの競合があるかどうかを示しています。

aws codecommit get-merge-conflicts \ --repository-name MyDemoRepo \ --source-commit-specifier feature-randomizationfeature \ --destination-commit-specifier main \ --merge-option THREE_WAY_MERGE

出力:

{ "mergeable": false, "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b6958EXAMPLE", "conflictMetadataList": [ { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetMergeConflicts」を参照してください。

次の例は、get-merge-options を使用する方法を説明しています。

AWS CLI

指定した 2 つのブランチのマージに使用できるマージオプションに関する情報を取得するには

次の get-merge-options の例では、MyDemoRepo という名前のリポジトリ内の main という名前の送信先ブランチに bugfix-bug1234 という名前の送信元ブランチをマージするために使用できるマージオプションを決定しています。

aws codecommit get-merge-options \ --source-commit-specifier bugfix-bug1234 \ --destination-commit-specifier main \ --repository-name MyDemoRepo

出力:

{ "mergeOptions": [ "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE" ], "sourceCommitId": "18059494EXAMPLE", "destinationCommitId": "ffd3311dEXAMPLE", "baseCommitId": "ffd3311dEXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Resolve Conflicts in a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetMergeOptions」を参照してください。

次のコード例は、get-pull-request-approval-states を使用する方法を示しています。

AWS CLI

プルリクエストの承認を表示するには

次の get-pull-request-approval-states の例では、指定されたプルリクエストの承認を返しています。

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

出力:

{ "approvals": [ { "userArn": "arn:aws:iam::123456789012:user/Mary_Major", "approvalState": "APPROVE" } ] }

詳細については、「AWS CodeCommit ユーザーガイド」の「View Pull Requests」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetPullRequestApprovalStates」を参照してください。

次の例は、get-pull-request-override-state を使用する方法を説明しています。

AWS CLI

プルリクエストの上書きステータスに関する情報を取得するには

次の get-pull-request-override-state の例では、指定されたプルリクエストの上書きステータスを返しています。この例では、プルリクエストの承認ルールが Mary Major という名前のユーザーによって上書きされたため、出力は true の値を返します。

aws codecommit get-pull-request-override-state \ --pull-request-id 34 \ --revision-id 9f29d167EXAMPLE

出力:

{ "overridden": true, "overrider": "arn:aws:iam::123456789012:user/Mary_Major" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Override Approval Rules on a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetPullRequestOverrideState」を参照してください。

次の例は、get-pull-request を使用する方法を説明しています。

AWS CLI

プルリクエストの詳細を表示するには

この例では、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" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetPullRequest」を参照してください。

次の例は、get-repository-triggers を使用する方法を説明しています。

AWS CLI

リポジトリ内のトリガーに関する情報を取得するには

この例では、MyDemoRepo という名前の AWS CodeCommit リポジトリ用に設定されたトリガーの詳細を示しています。

aws codecommit get-repository-triggers \ --repository-name MyDemoRepo

出力:

{ "configurationId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-1:111111111111:MyCodeCommitTopic", "branches": [ "main", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] }, { "destinationArn": "arn:aws:lambda:us-east-1:111111111111:function:MyCodeCommitPythonFunction", "branches": [], "name": "MySecondTrigger", "customData": "EXAMPLE", "events": [ "all" ] } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetRepositoryTriggers」を参照してください。

次の例は、get-repository を使用する方法を説明しています。

AWS CLI

リポジトリに関する情報を取得するには

この例では、AWS CodeCommit リポジトリに関する詳細を示しています。

aws codecommit get-repository \ --repository-name MyDemoRepo

出力:

{ "repositoryMetadata": { "creationDate": 1429203623.625, "defaultBranch": "main", "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/v1/repos/MyDemoRepo", "lastModifiedDate": 1430783812.0869999, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-1.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo "accountId": "111111111111" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetRepository」を参照してください。

次の例は、list-approval-rule-templates を使用する方法を説明しています。

AWS CLI

AWS リージョンのすべての承認ルールテンプレートを一覧表示するには

次の list-approval-rule-templates の例では、指定されたリージョン内のすべての承認ルールテンプレートを一覧表示しています。AWS リージョンがパラメータとして指定されていない場合、コマンドはコマンドの実行に使用される AWS CLI プロファイルで指定されたリージョンの承認ルールテンプレートを返します。

aws codecommit list-approval-rule-templates \ --region us-east-2

出力:

{ "approvalRuleTemplateNames": [ "2-approver-rule-for-main", "1-approver-rule-for-all-pull-requests" ] }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListApprovalRuleTemplates」を参照してください。

次のコード例は、list-associated-approval-rule-templates-for-repository を使用する方法を示しています。

AWS CLI

リポジトリに関連付けられているすべてのテンプレートを一覧表示するには

次の list-associated-approval-rule-templates-for-repository の例では、MyDemoRepo という名前のリポジトリに関連付けられているすべての承認ルールテンプレートを一覧表示しています。

aws codecommit list-associated-approval-rule-templates-for-repository \ --repository-name MyDemoRepo

出力:

{ "approvalRuleTemplateNames": [ "2-approver-rule-for-main", "1-approver-rule-for-all-pull-requests" ] }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

次のコード例は、list-branches を使用する方法を示しています。

AWS CLI

ブランチ名のリストを表示するには

この例では、AWS CodeCommit リポジトリ内のすべてのブランチ名を一覧表示しています。

aws codecommit list-branches \ --repository-name MyDemoRepo

出力:

{ "branches": [ "MyNewBranch", "main" ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListBranches」を参照してください。

次のコード例は、list-pull-requests を使用する方法を示しています。

AWS CLI

リポジトリでプルリクエストのリストを表示するには

この例では、「MyDemoRepo」という名前の AWS CodeCommit リポジトリで、ARN が「arn:aws:iam::111111111111:user/Li_Juan」でステータスが「CLOSED」の IAM ユーザーが作成したプルリクエストを一覧表示する方法を示しています。

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"] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListPullRequests」を参照してください。

次のコード例は、list-repositories-for-approval-rule-template を使用する方法を示しています。

AWS CLI

テンプレートに関連付けられているすべてのリポジトリを一覧表示するには

次の list-repositories-for-approval-rule-template の例では、指定された承認ルールテンプレートに関連付けられているすべてのリポジトリを一覧表示しています。

aws codecommit list-repositories-for-approval-rule-template \ --approval-rule-template-name 2-approver-rule-for-main

出力:

{ "repositoryNames": [ "MyDemoRepo", "MyClonedRepo" ] }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

次の例は、list-repositories を使用する方法を説明しています。

AWS CLI

リポジトリのリストを表示するには

この例では、ユーザーの AWS アカウントに関連付けられているすべての AWS CodeCommit リポジトリを一覧表示しています。

コマンド:

aws codecommit list-repositories

出力:

{ "repositories": [ { "repositoryName": "MyDemoRepo" "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", }, { "repositoryName": "MyOtherDemoRepo" "repositoryId": "cfc29ac4-b0cb-44dc-9990-f6f51EXAMPLE" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListRepositories」を参照してください。

次の例は、list-tags-for-resource を使用する方法を説明しています。

AWS CLI

リポジトリの AWS タグを表示するには

次の list-tags-for-resource の例では、指定されたリポジトリのタグキーとタグ値を一覧表示しています。

aws codecommit list-tags-for-resource \ --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo

出力:

{ "tags": { "Status": "Secret", "Team": "Saanvi" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「View Tags for a Repository」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次の例は、merge-branches-by-fast-forward を使用する方法を説明しています。

AWS CLI

早送りマージ戦略を使用して 2 つのブランチをマージするには

次の merge-branches-by-fast-forward の例では、指定された送信元ブランチを、MyDemoRepo という名前のリポジトリ内の指定された送信先ブランチとマージしています。

aws codecommit merge-branches-by-fast-forward \ --source-commit-specifier bugfix-bug1234 \ --destination-commit-specifier bugfix-bug1233 \ --repository-name MyDemoRepo

出力:

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Compare and Merge Branches」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「MergeBranchesByFastForward」を参照してください。

次のコード例は、merge-branches-by-squash を使用する方法を示しています。

AWS CLI

スカッシュマージ戦略を使用して 2 つのブランチをマージするには

次の merge-branches-by-squash の例では、指定された送信元ブランチを、MyDemoRepo という名前のリポジトリ内の指定された送信先ブランチとマージしています。

aws codecommit merge-branches-by-squash \ --source-commit-specifier bugfix-bug1234 \ --destination-commit-specifier bugfix-bug1233 \ --author-name "Maria Garcia" \ --email "maria_garcia@example.com" \ --commit-message "Merging two fix branches to prepare for a general patch." \ --repository-name MyDemoRepo

出力:

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Compare and Merge Branches」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「MergeBranchesBySquash」を参照してください。

次の例は、merge-branches-by-three-way を使用する方法を説明しています。

AWS CLI

3 方向マージ戦略を使用して 2 つのブランチをマージするには

次の merge-branches-by-three-way の例では、指定された送信元ブランチを、MyDemoRepo という名前のリポジトリ内の指定された送信先ブランチとマージしています。

aws codecommit merge-branches-by-three-way \ --source-commit-specifier main \ --destination-commit-specifier bugfix-bug1234 \ --author-name "Jorge Souza" --email "jorge_souza@example.com" \ --commit-message "Merging changes from main to bugfix branch before additional testing." \ --repository-name MyDemoRepo

出力:

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }

詳細については、「AWS CodeCommit ユーザーガイド」の「Compare and Merge Branches」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「MergeBranchesByThreeWay」を参照してください。

次の例は、merge-pull-request-by-fast-forward を使用する方法を説明しています。

AWS CLI

プルリクエストをマージして閉じるには

この例では、MyDemoRepo という名前のリポジトリで、ID が「47」、ソースコミット ID が「99132ab0EXAMPLE」のプルリクエストをマージしてクローズする方法を示しています。

aws codecommit merge-pull-request-by-fast-forward \ --pull-request-id 47 \ --source-commit-id 99132ab0EXAMPLE \ --repository-name MyDemoRepo

出力:

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "I want one approver for this pull request", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Merge a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「MergePullRequestByFastForward」を参照してください。

次のコード例は、merge-pull-request-by-squash を使用する方法を示しています。

AWS CLI

スカッシュマージ戦略を使用してプルリクエストをマージするには

次の merge-pull-request-by-squash の例では、MyDemoRepo という名前のリポジトリで ACCEPT_SOURCE の競合解決戦略を使用して、指定されたプルリクエストをマージして閉じています。

aws codecommit merge-pull-request-by-squash \ --pull-request-id 47 \ --source-commit-id 99132ab0EXAMPLE \ --repository-name MyDemoRepo \ --conflict-detail-level LINE_LEVEL \ --conflict-resolution-strategy ACCEPT_SOURCE \ --name "Jorge Souza" --email "jorge_souza@example.com" \ --commit-message "Merging pull request 47 by squash and accepting source in merge conflicts"

出力:

{ "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": "dd8b17fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Merge a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「MergePullRequestBySquash」を参照してください。

次の例は、merge-pull-request-by-three-way を使用する方法を説明しています。

AWS CLI

3 方向マージ戦略を使用してプルリクエストをマージするには

次の merge-pull-request-by-three-way の例では、MyDemoRepo という名前のリポジトリの競合の詳細と競合解決戦略のデフォルトオプションを使用して、指定されたプルリクエストをマージして閉じています。

aws codecommit merge-pull-request-by-three-way \ --pull-request-id 47 \ --source-commit-id 99132ab0EXAMPLE \ --repository-name MyDemoRepo \ --name "Maria Garcia" \ --email "maria_garcia@example.com" \ --commit-message "Merging pull request 47 by three-way with default options"

出力:

{ "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": "dd8b17fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Merge a Pull Request」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「MergePullRequestByThreeWay」を参照してください。

次の例は、override-pull-request-approval-rules を使用する方法を説明しています。

AWS CLI

プルリクエストの承認ルール要件を上書きするには

次の override-pull-request-approval-rules の例では、指定されたプルリクエストの承認ルールを上書きしています。代わりに上書きを取り消すには、--override-status パラメータ値を REVOKE に設定します。

aws codecommit override-pull-request-approval-rules \ --pull-request-id 34 \ --revision-id 927df8d8EXAMPLE \ --override-status OVERRIDE

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Override Approval Rules on a Pull Request」を参照してください。

次のコード例は、post-comment-for-compared-commit を使用する方法を示しています。

AWS CLI

コミットに対するコメントを作成するには

この例では、MyDemoRepo という名前のリポジトリ内の 2 つのコミットを比較して、変更に対するコメント "Can you add a test case for this?"cl_sample.js ファイルに追加する方法を示しています。

aws codecommit post-comment-for-compared-commit \ --repository-name MyDemoRepo \ --before-commit-id 317f8570EXAMPLE \ --after-commit-id 5d036259EXAMPLE \ --client-request-token 123Example \ --content "Can you add a test case for this?" \ --location filePath=cl_sample.js,filePosition=1232,relativeFileVersion=AFTER

出力:

{ "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "317f8570EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "6e147360EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "553b509bEXAMPLE56198325", "content": "Can you add a test case for this?", "creationDate": 1508369612.203, "deleted": false, "commentId": "abc123-EXAMPLE", "lastModifiedDate": 1508369612.203, "callerReactions": [], "reactionCounts": [] }, "location": { "filePath": "cl_sample.js", "filePosition": 1232, "relativeFileVersion": "AFTER" , "repositoryName": "MyDemoRepo" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「PostCommentForComparedCommit」を参照してください。

次の例は、post-comment-for-pull-request を使用する方法を説明しています。

AWS CLI

プルリクエストにコメントを追加するには

次の post-comment-for-pull-request の例では、「これらは、どこでも使用されていないようです。削除できますか。」 というコメントを、MyDemoRepo という名前のリポジトリの ID が 47 のプルリクエストの ahs_count.py ファイルへの変更に追加しています。

aws codecommit post-comment-for-pull-request \ --pull-request-id "47" \ --repository-name MyDemoRepo \ --before-commit-id 317f8570EXAMPLE \ --after-commit-id 5d036259EXAMPLE \ --client-request-token 123Example \ --content "These don't appear to be used anywhere. Can we remove them?" \ --location filePath=ahs_count.py,filePosition=367,relativeFileVersion=AFTER

出力:

{ "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "123Example", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "CommentId": "", "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": [] }, "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "47" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「PostCommentForPullRequest」を参照してください。

次のコード例は、post-comment-reply を使用する方法を示しています。

AWS CLI

コミットまたはプルリクエストのコメントに返信するには

この例では、システム生成 ID が abcd1234EXAMPLEb5678efgh のコメントに返信 "Good catch. I'll remove them." を追加する方法を示しています。

aws codecommit post-comment-reply \ --in-reply-to abcd1234EXAMPLEb5678efgh \ --content "Good catch. I'll remove them." \ --client-request-token 123Example

出力:

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.136, "deleted": false, "CommentId": "abcd1234EXAMPLEb5678efgh", "lastModifiedDate": 150836912.221, "callerReactions": [], "reactionCounts": [] } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「PostCommentReply」を参照してください。

次の例は、put-comment-reaction を使用する方法を説明しています。

AWS CLI

絵文字を使用してコミットのコメントに返信するには

次の put-comment-reaction の例では、ID abcd1234EXAMPLEb5678efgh のコメントに絵文字リアクション値 :thumbsup: で返信しています。

aws codecommit put-comment-reaction \ --comment-id abcd1234EXAMPLEb5678efgh \ --reaction-value :thumbsup:

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Comment on a commit in AWS CodeCommit」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「PutCommentReaction」を参照してください。

次の例は、put-file を使用する方法を説明しています。

AWS CLI

リポジトリにファイルを追加するには

次の put-file の例では、「ExampleSolution.py」という名前のファイルを「MyDemoRepo」という名前のリポジトリの「feature-randomizationfeature」という名前のブランチに追加しています。最新のコミットの ID は「4c925148EXAMPLE」です。

aws codecommit put-file \ --repository-name MyDemoRepo \ --branch-name feature-randomizationfeature \ --file-content file://MyDirectory/ExampleSolution.py \ --file-path /solutions/ExampleSolution.py \ --parent-commit-id 4c925148EXAMPLE \ --name "Maria Garcia" \ --email "maria_garcia@example.com" \ --commit-message "I added a third randomization routine."

出力:

{ "blobId": "2eb4af3bEXAMPLE", "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「PutFile」を参照してください。

次の例は、put-repository-triggers を使用する方法を説明しています。

AWS CLI

リポジトリでトリガーを追加または更新するには

この例では、MyDemoRepo という名前のリポジトリのすべてのトリガーの構造を含む、既に作成された JSON ファイル (ここでは MyTriggers.json) を使用して、「MyFirstTrigger」と「MySecondTrigger」という名前のトリガーを更新する方法を示しています。既存のトリガーの JSON を取得する方法については、get-repository-triggers コマンドを参照してください。

aws codecommit put-repository-triggers \ --repository-name MyDemoRepo file://MyTriggers.json

MyTriggers.json の内容:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "main", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] }, { "destinationArn": "arn:aws:lambda:us-east-1:111111111111:function:MyCodeCommitPythonFunction", "branches": [], "name": "MySecondTrigger", "customData": "EXAMPLE", "events": [ "all" ] } ] }

出力:

{ "configurationId": "6fa51cd8-35c1-EXAMPLE" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「PutRepositoryTriggers」を参照してください。

次のコード例は、tag-resource を使用する方法を示しています。

AWS CLI

既存のリポジトリに AWS タグを追加するには

次の tag-resource の例では、指定されたリポジトリに 2 つのタグを付けています。

aws codecommit tag-resource \ --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo \ --tags Status=Secret,Team=Saanvi

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Add a Tag to a Repository」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「TagResource」を参照してください。

次の例は、test-repository-triggers を使用する方法を説明しています。

AWS CLI

リポジトリ内のトリガーをテストするには

この例では、MyDemoRepo という名前の AWS CodeCommit リポジトリで「MyFirstTrigger」という名前のトリガーをテストする方法を示しています。この例では、リポジトリのイベントは Amazon Simple Notification Service (Amazon SNS) トピックから通知をトリガーします。

コマンド:

aws codecommit test-repository-triggers --repository-name MyDemoRepo --triggers name=MyFirstTrigger,destinationArn=arn:aws:sns:us-east-1:111111111111:MyCodeCommitTopic,branches=mainline,preprod,events=all

出力:

{ "successfulExecutions": [ "MyFirstTrigger" ], "failedExecutions": [] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「TestRepositoryTriggers」を参照してください。

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

リポジトリから AWS タグを削除するには

次の untag-resource の例では、MyDemoRepo という名前のリポジトリから指定されたキーのタグを削除しています。

aws codecommit untag-resource \ --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo \ --tag-keys Status

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Remove a Tag from a Repository」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次の例は、update-approval-rule-template-content を使用する方法を説明しています。

AWS CLI

承認ルールテンプレートの内容を更新するには

次の update-approval-rule-template-content の例では、指定された承認ルールテンプレートの内容を変更し、CodeCommitReview のロールを引き受けるユーザーに承認プールを再定義しています。

aws codecommit update-approval-rule-template-content \ --approval-rule-template-name 1-approver-rule \ --new-rule-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

出力:

{ "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

次の例は、update-approval-rule-template-description を使用する方法を説明しています。

AWS CLI

承認ルールテンプレートの説明を更新するには

次の update-approval-rule-template-description の例では、指定された承認ルールテンプレートの説明を Requires 1 approval for all pull requests from the CodeCommitReview pool に変更しています。

aws codecommit update-approval-rule-template-description \ --approval-rule-template-name 1-approver-rule-for-all-pull-requests \ --approval-rule-template-description "Requires 1 approval for all pull requests from the CodeCommitReview pool"

出力:

{ "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

次のコード例は、update-approval-rule-template-name を使用する方法を示しています。

AWS CLI

承認ルールテンプレートの名前を更新するには

次の update-approval-rule-template-name の例では、承認ルールテンプレートの名前を 1-approver-rule から「1-approver-rule-for-all-pull-requests」に変更しています。

aws codecommit update-approval-rule-template-name \ --old-approval-rule-template-name 1-approver-rule \ --new-approval-rule-template-name 1-approver-rule-for-all-pull-requests

出力:

{ "approvalRuleTemplate": { "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedDate": 1571358241.619, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "creationDate": 1571352720.773, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team.", "ruleContentSha256": "2f6c21a5cEXAMPLE" } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Manage Approval Rule Templates」を参照してください。

次の例は、update-comment を使用する方法を説明しています。

AWS CLI

コミットに対するコメントを更新するには

この例では、ID が 442b498bEXAMPLE5756813 のコメントに "Fixed as requested. I'll update the pull request." という内容を追加する方法を示しています。

aws codecommit update-comment \ --comment-id 442b498bEXAMPLE5756813 \ --content "Fixed as requested. I'll update the pull request."

出力:

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Fixed as requested. I'll update the pull request.", "creationDate": 1508369929.783, "deleted": false, "lastModifiedDate": 1508369929.287, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 2 } } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateComment」を参照してください。

次の例は、update-default-branch を使用する方法を説明しています。

AWS CLI

リポジトリのデフォルトブランチを変更するには

この例では、AWS CodeCommit リポジトリのデフォルトブランチを変更しています。このコマンドは、エラーがある場合にのみ出力を生成します。

コマンド:

aws codecommit update-default-branch --repository-name MyDemoRepo --default-branch-name MyNewBranch

出力:

None.
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateDefaultBranch」を参照してください。

次の例は、update-pull-request-approval-rule-content を使用する方法を説明しています。

AWS CLI

プルリクエストの承認ルールを編集するには

次の update-pull-request-approval-rule-content の例では、指定した承認ルールを更新し、123456789012 AWS アカウントの任意の IAM ユーザーを含む承認プールから 1 人のユーザー承認を必須にしています。

aws codecommit update-pull-request-approval-rule-content \ --pull-request-id 27 \ --approval-rule-name "Require two approved approvers" \ --approval-rule-content "{Version: 2018-11-08, Statements: [{Type: \"Approvers\", NumberOfApprovalsNeeded: 1, ApprovalPoolMembers:[\"CodeCommitApprovers:123456789012:user/*\"]}]}}"

出力:

{ "approvalRule": { "approvalRuleContent": "{Version: 2018-11-08, Statements: [{Type: \"Approvers\", NumberOfApprovalsNeeded: 1, ApprovalPoolMembers:[\"CodeCommitApprovers:123456789012:user/*\"]}]}}", "approvalRuleId": "aac33506-EXAMPLE", "originApprovalRuleTemplate": {}, "creationDate": 1570752871.932, "lastModifiedDate": 1570754058.333, "approvalRuleName": Require two approved approvers", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "cd93921cEXAMPLE", } }

詳細については、「AWS CodeCommit ユーザーガイド」の「Edit or Delete an Approval Rule」を参照してください。

次の例は、update-pull-request-approval-state を使用する方法を説明しています。

AWS CLI

プルリクエストを承認するか承認を取り消すには

次の update-pull-request-approval-state の例では、ID が 27 でリビジョン ID が 9f29d167EXAMPLE のプルリクエストを承認しています。代わりに承認を取り消す場合は、--approval-state パラメータ値を REVOKE に設定します。

aws codecommit update-pull-request-approval-state \ --pull-request-id 27 \ --revision-id 9f29d167EXAMPLE \ --approval-state "APPROVE"

このコマンドでは何も出力されません。

詳細については、「AWS CodeCommit ユーザーガイド」の「Review a Pull Request」を参照してください。

次の例は、update-pull-request-description を使用する方法を説明しています。

AWS CLI

プルリクエストの説明を変更するには

この例では、ID が 47 のプルリクエストの説明を変更する方法を示しています。

aws codecommit update-pull-request-description \ --pull-request-id 47 \ --description "Updated the pull request to remove unused global variable."

出力:

{ "pullRequest": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.155, "description": "Updated the pull request to remove unused global variable.", "lastActivityDate": 1508372423.204, "pullRequestId": "47", "pullRequestStatus": "OPEN", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdatePullRequestDescription」を参照してください。

次の例は、update-pull-request-status を使用する方法を説明しています。

AWS CLI

プルリクエストのステータスを変更するには

この例では、MyDemoRepo という名前の AWS CodeCommit リポジトリで、ID が 42 のプルリクエストのステータスを CLOSED に変更する方法を示しています。

aws codecommit update-pull-request-status \ --pull-request-id 42 \ --pull-request-status CLOSED

出力:

{ "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-approvers-needed-for-this-change", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.165, "description": "Updated the pull request to remove unused global variable.", "lastActivityDate": 1508372423.12, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdatePullRequestStatus」を参照してください。

次の例は、update-pull-request-title を使用する方法を説明しています。

AWS CLI

プルリクエストのタイトルを変更するには

この例では、ID が 47 のプルリクエストのタイトルを変更する方法を示しています。

aws codecommit update-pull-request-title \ --pull-request-id 47 \ --title "Consolidation of global variables - updated review"

出力:

{ "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": "dd8b26gr-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.12, "description": "Review the latest changes and updates to the global variables. I have updated this request with some changes, including removing some unused variables.", "lastActivityDate": 1508372657.188, "pullRequestId": "47", "pullRequestStatus": "OPEN", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/main", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables - updated review" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdatePullRequestTitle」を参照してください。

次の例は、update-repository-description を使用する方法を説明しています。

AWS CLI

リポジトリの説明を変更するには

この例では、AWS CodeCommit リポジトリの説明を変更しています。このコマンドは、エラーがある場合にのみ出力を生成します。

コマンド:

aws codecommit update-repository-description --repository-name MyDemoRepo --repository-description "This description was changed"

出力:

None.
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateRepositoryDescription」を参照してください。

次のコード例は、update-repository-name を使用する方法を示しています。

AWS CLI

リポジトリの名前を変更するには

この例では、AWS CodeCommit リポジトリの名前を変更しています。このコマンドは、エラーがある場合にのみ出力を生成します。AWS CodeCommit リポジトリの名前を変更すると、ユーザーがリポジトリへの接続で必要な SSH および HTTPS URL が変更されます。ユーザーは、接続設定を更新するまでこのリポジトリに接続できなくなります。また、リポジトリの ARN が変更されるため、リポジトリ名を変更すると、このリポジトリの ARN に依存するすべての IAM ユーザーポリシーが無効になります。

コマンド:

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

出力:

None.
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateRepositoryName」を参照してください。