AWS CLI를 사용한 CodeCommit 예시 - AWS Command Line Interface

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 사용자 안내서리포지토리에 승인 규칙 템플릿 연결을 참조하세요.

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

AWS CLI

단일 작업 내 여러 리포지토리에 승인 규칙 템플릿 연결

다음 batch-associate-approval-rule-template-with-repositories 예시에서는 지정된 승인 규칙 템플릿을 MyDemoRepoMyOtherDemoRepo라는 리포지토리에 연결합니다.

참고: 승인 규칙 템플릿은 해당 템플릿이 생성된 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

2개 커밋 지정자 간의 병합에서 모든 파일 또는 파일 하위 집합의 병합 충돌에 대한 정보 가져오기

다음 batch-describe-merge-conflicts 예시에서는 MyDemoRepo라는 리포지토리의 THREE_WAY_MERGE 전략을 사용하여 main이라는 대상 브랜치와 feature-randomizationfeature라는 소스 브랜치를 병합할 때 발생하는 병합 충돌을 확인합니다.

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 예시에서는 지정된 승인 규칙 템플릿을 MyDemoRepoMyOtherDemoRepo라는 리포지토리에서 연결 해제합니다.

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 세부 정보는 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": [] }

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조CreateBranch를 참조하세요.

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

AWS CLI

커밋 생성

다음 create-commit 예시에서는 readme.md 파일을 main 브랜치의 MyDemoRepo라는 리포지토리에 추가하는 리포지토리 초기 커밋을 생성하는 방법을 설명합니다.

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 세부 정보는 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-pull-request의 사용 방법을 보여줍니다.

AWS CLI

풀 요청 생성

다음 create-pull-request 예시에서는 'jane-branch' 소스 브랜치를 대상으로 하고 'MyDemoRepo'라는 AWS CodeCommit 리포지토리의 기본 브랜치 'main'에 병합될 'Pronunciation difficulty analyzer'라는 풀 요청을 'Please review these changes by Tuesday'라는 설명과 함께 생성합니다.

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 전략을 사용하여 main이라는 대상 브랜치와 bugfix-1234라는 소스 브랜치 간의 병합 결과를 나타내는 커밋을 생성합니다.

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 CodeCommit을 사용하여 AWS CLI에 포함된 자격 증명 도우미 설정

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

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 세부 정보는 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-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 } } }

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

AWS CLI

파일 삭제

다음 delete-file 예시에서는 MyDemoRepo라는 리포지토리에서 가장 최근 커밋 ID가 c5709475EXAMPLEmain이라는 브랜치에서 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 참조 안내서의 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 사용자 안내서승인 규칙 편집 또는 삭제를 참조하세요.

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

다음 코드 예시에서는 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 예시에서는 지정된 풀 요청에 대한 승인 규칙의 상태를 평가합니다. 이 예시에서는 풀 요청에 대한 승인 규칙이 충족되지 않았으므로 명령의 출력에 falseapproved 값이 표시됩니다.

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 예시에서는 '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 사용자 안내서AWS CodeCommit에서 커밋에 주석 추가를 참조하세요.

다음 코드 예시에서는 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라는 리포지토리의 두 커밋 간의 비교에 대해 작성된 주석을 보는 방법을 설명합니다.

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

리포지토리의 커밋에 대한 정보 보기

이 예시에서는 '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 사용자 안내서커밋 세부 정보 보기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetMergeCommit을 참조하세요.

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

AWS CLI

풀 요청에 병합 충돌이 있는지 보기

다음 get-merge-conflicts 예시에서는 MyDemoRepo라는 리포지토리에서 feature-randomizationfeature라는 소스 브랜치의 끝과 ‘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라는 리포지토리에서 bugfix-bug1234라는 소스 브랜치와 main이라는 대상 브랜치를 병합하는 데 사용할 수 있는 병합 옵션을 확인합니다.

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 세부 정보는 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 사용자 안내서풀 요청 보기를 참조하세요.

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

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

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

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

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

풀 요청 병합 및 종료

이 예시에서는 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-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-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

커밋에 주석 생성

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

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 예시에서는 'These don't appear to be used anywhere Can we remove them?"라는 ahs_count.py 파일의 변경 사항에 대한 주석을 MyDemoRepo라는 리포지토리에서 ID가 47인 풀 요청에 추가합니다.

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가 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 사용자 안내서AWS CodeCommit에서 커밋에 주석 추가를 참조하세요.

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

AWS CLI

리포지토리에 파일 추가

다음 put-file 예시에서는 ‘MyDemoRepo’라는 리포지토리에서 최근 커밋 ID가 ‘4c925148EXAMPLE’이고 ‘feature-randomizationfeature’라는 브랜치에 ‘ExampleSolution.py’라는 파일을 추가합니다.

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

다음 코드 예시에서는 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 사용자 안내서리포지토리에 태그 추가를 참조하세요.

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

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

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

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

다음 코드 예시에서는 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가 42인 풀 요청의 상태를 MyDemoRepo라는 AWS CodeCommit 리포지토리에서 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" } }

다음 코드 예시에서는 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 URL이 변경됩니다. 사용자는 연결 설정을 업데이트할 때까지 이 리포지토리에 연결할 수 없습니다. 또한 리포지토리의 ARN이 변경되므로, 리포지토리 이름을 변경하면 이 리포지토리의 ARN을 사용하는 모든 IAM 사용자 정책이 무효화됩니다.

명령:

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

출력:

None.