CodeCommit 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CodeCommit 사용 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 CodeCommit.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿을 리포지토리와 연결을 참조하세요.

다음 코드 예시에서는 batch-associate-approval-rule-template-with-repositories을 사용하는 방법을 보여 줍니다.

AWS CLI

단일 작업에서 승인 규칙 템플릿을 여러 리포지토리와 연결하려면

다음 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 사용 설명서승인 규칙 템플릿을 리포지토리와 연결을 참조하세요.

다음 코드 예시에서는 batch-describe-merge-conflicts을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 파일의 병합 충돌 또는 두 커밋 지정자 간의 병합에 있는 파일 하위 집합에 대한 정보를 가져오려면

다음 batch-describe-merge-conflicts 예제에서는 라는 리포지토리의 THREE_WAY_MERGE 전략을 main 사용하여 라는 대상 브랜치feature-randomizationfeature와 라는 소스 브랜치를 병합하기 위한 병합 충돌을 결정합니다MyDemoRepo.

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 사용 설명서풀 요청에서 충돌 해결을 참조하세요.

다음 코드 예시에서는 batch-disassociate-approval-rule-template-from-repositories을 사용하는 방법을 보여 줍니다.

AWS CLI

단일 작업에서 여러 리포지토리에서 승인 규칙 템플릿을 연결 해제하려면

다음 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 사용 설명서승인 규칙 템플릿 연결 해제를 참조하세요.

다음 코드 예시에서는 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 사용 설명서커밋 세부 정보 보기를 참조하세요.

  • 자세한 API 내용은 명령 참조BatchGetCommits의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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": [] }

다음 코드 예시에서는 create-approval-rule-template을 사용하는 방법을 보여 줍니다.

AWS CLI

승인 규칙 템플릿을 생성하려면

다음 create-approval-rule-template 예제에서는 풀 요청을 main브랜치에 병합2-approver-rule-for-main ``. The template requires two users who assume the role of ``CodeCommitReview하기 전에 승인하도록 라는 승인 규칙 템플릿을 생성합니다.

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-branch을 사용하는 방법을 보여 줍니다.

AWS CLI

브랜치를 생성하려면

이 예제에서는 AWS CodeCommit 리포지토리에 브랜치를 생성합니다. 이 명령은 오류가 있는 경우에만 출력을 생성합니다.

명령:

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

출력:

None.
  • 자세한 API 내용은 명령 참조CreateBranch의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서의 에서 커밋 생성을 AWS CodeCommit 참조하세요.

  • 자세한 API 내용은 명령 참조CreateCommit의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-pull-request-approval-rule을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청에 대한 승인 규칙을 생성하려면

다음 create-pull-request-approval-rule 예제에서는 지정된 풀 요청에 Require two approved approvers 대해 라는 승인 규칙을 생성합니다. 규칙은 승인 풀에 두 개의 승인이 필요함을 지정합니다. 풀에는 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-pull-request을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청을 생성하려면

다음 create-pull-request 예제에서는 'Jane-branch' 소스 브랜치를 대상으로 하고 ''이라는 리 AWS CodeCommit 포지토리의 기본 브랜치 '메인'에 병합될 '화요일까지 이러한 변경 사항을 검토하세요MyDemoRepo'라는 설명과 함께 'Pronunciation difficulty Analyzer'라는 풀 요청을 생성합니다.

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 내용은 명령 참조CreatePullRequest의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조CreateRepository의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-unreferenced-merge-commit을 사용하는 방법을 보여 줍니다.

AWS CLI

두 커밋 지정자를 병합한 결과를 나타내는 참조되지 않은 커밋을 생성하려면

다음 create-unreferenced-merge-commit 예제에서는 라는 리포지토리에서 THREE_WAY_MERGE 전략을 main 사용하여 라는 대상 브랜치bugfix-1234와 라는 소스 브랜치 간의 병합 결과를 나타내는 커밋을 생성합니다MyDemoRepo.

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 사용 설명서풀 요청에서 충돌 해결을 참조하세요.

다음 코드 예시에서는 credential-helper을 사용하는 방법을 보여 줍니다.

AWS CLI

와 함께 AWS CLI에 포함된 자격 증명 도우미를 설정하려면 AWS CodeCommit

credential-helper 유틸리티는 에서 직접 호출하도록 설계되지 않았습니다 AWS CLI. 대신 로컬 컴퓨터를 설정하기 위한 git config 명령과 함께 파라미터로 사용하기 위한 것입니다. 이를 통해 Git은 CodeCommit 리포지토리HTTPS와 상호 작용하기 위해 Git이 와 인증해야 할 때마다 IAM 사용자 자격 증명 또는 Amazon EC2 인스턴스 역할의 및 암호화 서명 버전을 사용할 AWS 수 있습니다.

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 사용 설명서의 다른 방법 AWS CodeCommit 사용을 위한 설정을 참조하세요. 콘텐츠를 주의 깊게 검토한 다음 AWS CodeCommit 사용 설명서의 Linux, macOS 또는 Unix에서 HTTPS 연결 또는 Windows에서 HTTPS 연결 중 하나의 절차를 따릅니다.

  • 자세한 API 내용은 명령 참조CredentialHelper의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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-branch을 사용하는 방법을 보여 줍니다.

AWS CLI

브랜치를 삭제하려면

이 예제에서는 AWS CodeCommit 리포지토리에서 브랜치를 삭제하는 방법을 보여줍니다.

명령:

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

출력:

{ "branch": { "commitId": "317f8570EXAMPLE", "branchName": "MyNewBranch" } }
  • 자세한 API 내용은 명령 참조DeleteBranch의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 } } }

다음 코드 예시에서는 delete-file을 사용하는 방법을 보여 줍니다.

AWS CLI

파일을 삭제하려면

다음 delete-file 예제에서는 라는 리포지토리README.md에서 가장 최근 커밋 IDmain가 인 브랜치c5709475EXAMPLE에서 라는 파일을 삭제하는 방법을 보여줍니다MyDemoRepo.

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 참조 가이드의 에서 파일 편집 또는 삭제 AWS CodeCommit를 참조하세요.

  • 자세한 API 내용은 명령 참조DeleteFile의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서승인 규칙 편집 또는 삭제를 참조하세요.

다음 코드 예시에서는 delete-repository을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리를 삭제하려면

이 예제에서는 AWS CodeCommit 리포지토리를 삭제하는 방법을 보여줍니다.

명령:

aws codecommit delete-repository --repository-name MyDemoRepo

출력:

{ "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE" }
  • 자세한 API 내용은 명령 참조DeleteRepository의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서풀 요청에서 충돌 해결을 참조하세요.

다음 코드 예시에서는 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" } ] }

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 연결 해제를 참조하세요.

다음 코드 예시에서는 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 사용 설명서풀 요청 병합을 참조하세요.

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 get-blob을 사용하는 방법을 보여 줍니다.

AWS CLI

Git Blob 객체에 대한 정보를 보려면

다음 get-blob 예제에서는 ''이라는 리 AWS CodeCommit 포지토리에서 ID가 '2eb4af3bEXAMPLE'인 Git Blob에 대한 정보를 검색합니다MyDemoRepo.

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

출력:

{ "content": "QSBCaW5hcnkgTGFyToEXAMPLE=" }
  • 자세한 API 내용은 명령 참조GetBlob의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-branch을 사용하는 방법을 보여 줍니다.

AWS CLI

브랜치에 대한 정보를 가져오려면

이 예제에서는 AWS CodeCommit 리포지토리의 브랜치에 대한 정보를 가져옵니다.

명령:

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

출력:

{ "BranchInfo": { "commitID": "317f8570EXAMPLE", "branchName": "MyNewBranch" } }
  • 자세한 API 내용은 명령 참조GetBranch의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서의 에서 커밋에 대한 설명을 AWS CodeCommit 참조하세요.

  • 자세한 API 내용은 명령 참조GetCommentReactions의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetComment의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-comments-for-compared-commit을 사용하는 방법을 보여 줍니다.

AWS CLI

커밋에 대한 주석을 보려면

이 예제에서는 라는 리포지토리에서 두 커밋 간의 비교에 대한 설명을 보는 방법을 보여줍니다MyDemoRepo.

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

다음 코드 예시에서는 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" }

다음 코드 예시에서는 get-commit을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리의 커밋에 대한 정보를 보려면

이 예제는 ''이라는 AWS CodeCommit 리포지토리에서 '7e9fd3091thisisanexamplethisisanexample1'의 시스템 생성 ID를 가진 커밋에 대한 세부 정보를 보여줍니다MyDemoRepo.

명령:

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 내용은 명령 참조GetCommit의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-differences을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리의 커밋 지정자의 차이점에 대한 정보를 가져오려면

이 예제는 이름이 인 AWS CodeCommit 리포지토리의 이름이 변경된 폴더에 있는 두 커밋 지정자(지점, 태그HEAD, 또는 커밋과 같은 기타 정규화된 참조IDs) 간의 변경 사항에 대한 메타데이터 정보 보기를 보여줍니다 MyDemoRepo. 이 예제에는 이러한 옵션을 사용하여 결과를 제한하는 방법을 자세히 설명하기 위해 --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 내용은 명령 참조GetDifferences의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-file을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS CodeCommit 리포지토리에 있는 파일의 base-64 인코딩 콘텐츠를 가져오려면

다음 get-file 예제에서는 라는 main리포지토리에 이름이 지정된 브랜치README.md에서 이름이 지정된 파일의 base-64 인코딩 콘텐츠를 가져오는 방법을 보여줍니다MyDemoRepo.

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 내용은 명령 참조GetFile의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetFolder의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-merge-commit을 사용하는 방법을 보여 줍니다.

AWS CLI

병합 커밋에 대한 자세한 정보를 가져오려면

다음 get-merge-commit 예제에서는 라는 리포지토리에서 THREE_WAY_MERGE 전략을 main 사용하여 라는 대상 브랜치bugfix-bug1234와 라는 소스 브랜치의 병합 커밋에 대한 세부 정보를 표시합니다MyDemoRepo.

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 사용 설명서커밋 세부 정보 보기를 참조하세요.

  • 자세한 API 내용은 명령 참조GetMergeCommit의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-merge-conflicts을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청에 대한 병합 충돌이 있는지 확인하려면

다음 get-merge-conflicts 예제는 라는 소스 브랜치의 팁feature-randomizationfeature과 라는 리포지토리의 'main'이라는 대상 브랜치 간에 병합 충돌이 있는지 여부를 보여줍니다MyDemoRepo.

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 내용은 명령 참조GetMergeConflicts의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-merge-options을 사용하는 방법을 보여 줍니다.

AWS CLI

두 개의 지정된 브랜치를 병합하는 데 사용할 수 있는 병합 옵션에 대한 정보를 가져오려면

다음 get-merge-options 예제에서는 라는 소스 브랜치를 라는 리포지토리main에 라는 대상 브랜치bugfix-bug1234와 병합하는 데 사용할 수 있는 병합 옵션을 결정합니다MyDemoRepo.

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 사용 설명서풀 요청에서 충돌 해결을 참조하세요.

  • 자세한 API 내용은 명령 참조GetMergeOptions의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서풀 요청 보기를 참조하세요.

다음 코드 예시에서는 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 사용 설명서풀 요청에 대한 승인 규칙 재정의를 참조하세요.

다음 코드 예시에서는 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 내용은 명령 참조GetPullRequest의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-repository-triggers을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리의 트리거에 대한 정보를 가져오려면

이 예제에서는 라는 AWS CodeCommit 리포지토리에 대해 구성된 트리거에 대한 세부 정보를 보여줍니다MyDemoRepo.

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

다음 코드 예시에서는 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 내용은 명령 참조GetRepository의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 list-branches을 사용하는 방법을 보여 줍니다.

AWS CLI

브랜치 이름 목록을 보려면

이 예제에서는 AWS CodeCommit 리포지토리의 모든 브랜치 이름을 나열합니다.

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

출력:

{ "branches": [ "MyNewBranch", "main" ] }
  • 자세한 API 내용은 명령 참조ListBranches의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-pull-requests을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리에서 풀 요청 목록을 보려면

이 예제에서는 ARN 'arn:aws:iam::111111111111:user/Li_Juan'이 있는 IAM 사용자가 생성한 풀 요청을 나열하고 'CLOSED'이라는 AWS CodeCommit 리포지토리에서 '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"] }
  • 자세한 API 내용은 명령 참조ListPullRequests의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 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 내용은 명령 참조ListRepositories의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서리포지토리 태그 보기를 참조하세요.

  • 자세한 API 내용은 명령 참조ListTagsForResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 merge-branches-by-fast-forward을 사용하는 방법을 보여 줍니다.

AWS CLI

빠른 전달 병합 전략을 사용하여 두 브랜치를 병합하려면

다음 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 사용 설명서브랜치 비교 및 병합을 참조하세요.

다음 코드 예시에서는 merge-branches-by-squash을 사용하는 방법을 보여 줍니다.

AWS CLI

스쿼시 병합 전략을 사용하여 두 브랜치를 병합하려면

다음 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 사용 설명서브랜치 비교 및 병합을 참조하세요.

다음 코드 예시에서는 merge-branches-by-three-way을 사용하는 방법을 보여 줍니다.

AWS CLI

3방향 병합 전략을 사용하여 두 브랜치를 병합하려면

다음 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 사용 설명서브랜치 비교 및 병합을 참조하세요.

다음 코드 예시에서는 merge-pull-request-by-fast-forward을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청을 병합하고 닫으려면

이 예제는 라는 리포지토리에서 '47'의 ID와 '99132ab0EXAMPLE'의 소스 커밋 ID로 풀 요청을 병합하고 종료하는 방법을 보여줍니다MyDemoRepo.

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-pull-request-by-squash을 사용하는 방법을 보여 줍니다.

AWS CLI

스쿼시 병합 전략을 사용하여 풀 요청을 병합하려면

다음 merge-pull-request-by-squash 예제에서는 라는 리포지토리에서 ACCEPT_SOURCE의 충돌 해결 전략을 사용하여 지정된 풀 요청을 병합하고 닫습니다MyDemoRepo.

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-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 사용 설명서풀 요청 병합을 참조하세요.

다음 코드 예시에서는 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 사용 설명서풀 요청에 대한 승인 규칙 재정의를 참조하세요.

다음 코드 예시에서는 post-comment-for-compared-commit을 사용하는 방법을 보여 줍니다.

AWS CLI

커밋에 대한 주석을 생성하려면

이 예제에서는 라는 리포지토리에서 두 커밋 간의 비교에서 cl_sample.js 파일에 변경 사항에 "Can you add a test case for this?" 대한 설명을 추가하는 방법을 보여줍니다MyDemoRepo.

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

다음 코드 예시에서는 post-comment-for-pull-request을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청에 주석을 추가하려면

다음 post-comment-for-pull-request 예제에서는 '어디에서도 사용되지 않는 것처럼 보입니다. Can we remove them?"라는 주석을 쓴다고 가정하겠습니다. 라는 리포지토리에서 ID가 인 풀 요청의 ahs_count.py 파일 변경 47MyDemoRepo.

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

다음 코드 예시에서는 post-comment-reply을 사용하는 방법을 보여 줍니다.

AWS CLI

커밋 또는 풀 요청에 대한 주석에 회신하려면

이 예제에서는 시스템에서 생성한 ID가 인 주석"Good catch. I'll remove them."에 대한 응답을 추가하는 방법을 보여줍니다abcd1234EXAMPLEb5678efgh.

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 내용은 명령 참조PostCommentReply의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 put-comment-reaction을 사용하는 방법을 보여 줍니다.

AWS CLI

이모티콘을 사용하여 커밋에 대한 주석에 회신하려면

다음 put-comment-reaction 예제에서는 ID가 이고 이모티콘 반응 값이 abcd1234EXAMPLEb5678efgh인 주석에 응답합니다:thumbsup:.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodeCommit 사용 설명서의 에서 커밋에 대한 설명을 AWS CodeCommit 참조하세요.

  • 자세한 API 내용은 명령 참조PutCommentReaction의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조PutFile의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 put-repository-triggers을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리에서 트리거를 추가하거나 업데이트하려면

이 예제에서는 라는 리포지토리에 대한 모든 트리거의 구조를 포함하는 이미 생성된 JSON 파일(여기서는 MyTriggers.json)을 사용하여 'MyFirstTrigger' 및 'MySecondTrigger'라는 트리거를 업데이트하는 방법을 보여줍니다 MyDemoRepo. 기존 트리거에 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" }

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

기존 리포지토리에 AWS 태그를 추가하려면

다음 tag-resource 예제에서는 지정된 리포지토리에 두 개의 태그를 지정합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodeCommit 사용 설명서리포지토리에 태그 추가를 참조하세요.

  • 자세한 API 내용은 명령 참조TagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 test-repository-triggers을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리에서 트리거를 테스트하려면

이 예제에서는 라는 리 AWS CodeCommit 포지토리에서 'MyFirstTrigger'라는 트리거를 테스트하는 방법을 보여줍니다 MyDemoRepo. 이 예제에서는 리포지토리의 이벤트가 Amazon Simple Notification Service(AmazonSNS) 주제에서 알림을 트리거합니다.

명령:

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": [] }

다음 코드 예시에서는 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 사용 설명서리포지토리에서 태그 제거를 참조하세요.

  • 자세한 API 내용은 명령 참조UntagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 update-approval-rule-template-name을 사용하는 방법을 보여 줍니다.

AWS CLI

승인 규칙 템플릿의 이름을 업데이트하려면

다음 update-approval-rule-template-name 예제에서는 승인 규칙 템플릿의 이름을 에서 1-approver-rule-for-all-pull-requests`1-approver-rule로 변경합니다.

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 사용 설명서승인 규칙 템플릿 관리를 참조하세요.

다음 코드 예시에서는 update-comment을 사용하는 방법을 보여 줍니다.

AWS CLI

커밋에 대한 주석을 업데이트하려면

이 예제에서는 ID가 "Fixed as requested. I'll update the pull request."인 주석에 콘텐츠를 추가하는 방법을 보여줍니다442b498bEXAMPLE5756813.

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 내용은 명령 참조UpdateComment의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-default-branch을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리의 기본 브랜치를 변경하려면

이 예제에서는 AWS CodeCommit 리포지토리의 기본 브랜치를 변경합니다. 이 명령은 오류가 있는 경우에만 출력을 생성합니다.

명령:

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

출력:

None.
  • 자세한 API 내용은 명령 참조UpdateDefaultBranch의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-pull-request-approval-rule-content을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청에 대한 승인 규칙을 편집하려면

다음 update-pull-request-approval-rule-content 예제에서는 123456789012 AWS 계정의 사용자를 포함하는 승인 풀에서 한 명의 IAM 사용자 승인을 요구하도록 승인 규칙을 지정했습니다.

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 사용 설명서승인 규칙 편집 또는 삭제를 참조하세요.

다음 코드 예시에서는 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 사용 설명서풀 요청 검토를 참조하세요.

다음 코드 예시에서는 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" } }

다음 코드 예시에서는 update-pull-request-status을 사용하는 방법을 보여 줍니다.

AWS CLI

풀 요청의 상태를 변경하려면

이 예제에서는 ID가 인 풀 요청의 상태를 라는 AWS CodeCommit 리포지토리CLOSED42 상태로 변경하는 방법을 보여줍니다MyDemoRepo.

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

다음 코드 예시에서는 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" } }

다음 코드 예시에서는 update-repository-description을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리에 대한 설명을 변경하려면

이 예제에서는 AWS CodeCommit 리포지토리에 대한 설명을 변경합니다. 이 명령은 오류가 있는 경우에만 출력을 생성합니다.

명령:

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

출력:

None.

다음 코드 예시에서는 update-repository-name을 사용하는 방법을 보여 줍니다.

AWS CLI

리포지토리의 이름을 변경하려면

이 예제에서는 AWS CodeCommit 리포지토리의 이름을 변경합니다. 이 명령은 오류가 있는 경우에만 출력을 생성합니다. AWS CodeCommit 리포지토리의 이름을 변경하면 SSH 및 사용자가 리포지토리에 연결해야 HTTPS URLs 하는 가 변경됩니다. 사용자는 연결 설정을 업데이트할 때까지 이 리포지토리에 연결할 수 없습니다. 또한 리포지토리가 변경되므로 리포지토리 이름을 변경하면 이 리포지토리의 에 의존하는 모든 IAM 사용자 정책이 무효화ARN됩니다ARN.

명령:

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

출력:

None.