

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

# 풀 요청 검토
<a name="how-to-review-pull-request"></a>

 AWS CodeCommit 콘솔을 사용하여 풀 요청에 포함된 변경 사항을 검토할 수 있습니다. 요청, 파일, 개별 코드 행에 설명을 추가할 수 있습니다. 또한 다른 사용자가 작성한 주석에 댓글을 달 수도 있습니다. 리포지토리가 [알림으로 구성된](how-to-repository-email.md) 경우 내 주석에 사용자가 댓글을 달거나, 풀 요청에 사용자가 주석을 추가할 때마다 이메일을 받게 됩니다.

 AWS CLI 를 사용하여 풀 요청에 주석을 달고 주석에 회신할 수 있습니다. 변경 내용을 검토하려면 CodeCommit 콘솔, **git diff** 명령 또는 diff 도구를 사용해야 합니다.

**Topics**
+ [풀 요청 검토 (콘솔)](#how-to-review-pull-request-console)
+ [풀 요청 검토 (AWS CLI)](#how-to-review-pull-request-cli)

## 풀 요청 검토 (콘솔)
<a name="how-to-review-pull-request-console"></a>

CodeCommit 콘솔을 사용하여 CodeCommit 리포지토리의 풀 요청을 검토할 수 있습니다.

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)에서 CodeCommit 콘솔을 엽니다.

1. **리포지토리**에서 리포지토리의 이름을 선택합니다.

1. 탐색 창에서 **풀 요청**을 선택합니다.

1. 기본적으로 모든 미해결 풀 요청 목록이 표시됩니다. 검토하려는 진행 중 풀 요청을 선택합니다.  
![CodeCommit 콘솔에 표시된 풀 요청을 엽니다.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-pull-request-view-list.png)
**참고**  
종료 또는 병합된 풀 요청에 대해 주석을 달 수 있지만 병합하거나 다시 열 수는 없습니다.

1. 풀 요청에서 **변경 사항**을 선택합니다.

1. 다음 중 하나를 수행하세요.
   + 전체 풀 요청에 대한 전반적인 주석을 추가하려면 **변경 사항에 대한 주석**의 **새 주석**에 주석을 입력한 다음 **저장**을 선택합니다. [마크다운](https://docs.aws.amazon.com/general/latest/gr/aws-markdown.html)을 사용하거나 설명을 일반 텍스트로 입력할 수 있습니다.  
![풀 요청의 변경 내용에 대한 일반적인 설명.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-commenting-changecomment.png)
   + 커밋의 파일에 주석을 추가하려면 **변경 사항**에서 해당 파일 이름을 찾습니다. 파일 이름 옆에 나타나는 ![The comment bubble icon that that indicates that you can leave a comment on that line of code.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-commentbubble.png) 주석 아이콘을 선택하고 주석을 입력한 다음 **저장**을 선택합니다.  
![풀 요청의 파일에 대한 설명 추가.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-commenting-addfilecomment.png)
   + 풀 요청의 변경된 행에 주석을 추가하려면 **변경 사항**에서 주석을 작성할 행으로 이동합니다. 해당 행에 나타나는 ![The comment bubble icon that that indicates that you can leave a comment on that line of code.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-commentbubble.png) 주석 아이콘을 선택하고 주석을 입력한 다음 **저장**을 선택합니다.  
![풀 요청의 행에 대한 설명 추가.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-pull-request-comment.png)

1. 커밋의 주석에 답변하려면 **변경 사항** 또는 **활동**에서 **댓글**을 선택합니다. 텍스트와 이모티콘으로 댓글을 달 수 있습니다.  
![주석에 댓글 및 이모티콘 반응 추가.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-commenting-commenttab.png)

   특정 이모티콘 반응 댓글을 선택하여 응답한 사람들의 이름을 볼 수 있습니다. 모든 이모티콘 반응을 확인하고 누가 어떤 이모티콘으로 응답했는지에 대한 정보를 보려면 **모든 반응 보기**를 선택합니다. 주석에 이모티콘으로 응답한 경우 해당 응답이 이모티콘 반응 버튼 아이콘에 표시됩니다.
**참고**  
콘솔에 표시되는 반응 수는 페이지가 로드된 시점에 정확하게 합산됩니다. 이모티콘 반응 수에 대한 최신 정보를 보려면 페이지를 새로 고치거나 **모든 반응 보기**를 선택합니다.  
![주석에 이모티콘 반응으로 응답한 사용자에 대한 정보 보기.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-comment-view-reaction.png)

1. (선택 사항) Amazon CodeGuru Reviewer에서 생성한 권장 사항에 회신하려면(권장 사항 품질에 대한 피드백 제공 포함) **댓글**을 선택합니다. 응답 버튼을 사용하여 권장 사항의 승인 또는 거부 여부에 대한 일반 정보를 제공합니다. 의견 필드를 사용하여 응답에 대한 자세한 내용을 제공합니다.
**참고**  
Amazon CodeGuru Reviewer는 프로그램 분석 및 기계 학습을 사용하여 Java 또는 Python 코드에서 일반적인 문제를 감지하고 권장 수정 사항을 제공하는 자동화된 코드 검토 서비스입니다.  
리포지토리가 Amazon CodeGuru Reviewer와 연결되고, 분석이 완료되고, 풀 요청의 코드가 Java 또는 Python 코드인 경우에만, Amazon CodeGuru Reviewer 주석이 표시됩니다. 자세한 내용은 [Amazon CodeGuru Reviewer와 AWS CodeCommit 리포지토리 연결 또는 연결 해제](how-to-amazon-codeguru-reviewer.md) 단원을 참조하세요.
Amazon CodeGuru Reviewer 주석은 풀 요청의 최근 수정본에 대해 작성된 경우에만 **변경 사항** 탭에 표시됩니다. 이러한 주석은 항상 **활동** 탭에 표시됩니다.
Amazon CodeGuru Reviewer 추천에는 사용 가능한 모든 이모티콘 반응으로 응답할 수 있지만, 추천의 유용성을 평가하는 데는 좋아요 및 싫어요 이모티콘 반응만 사용됩니다.  
![검토 작업이 진행 중인 상태에서 Amazon CodeGuru Reviewer가 작성한 권장 사항입니다.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-pull-request-reply-bot.png)

1. 풀 요청에서 변경된 내용을 승인하려면 **승인**을 선택합니다.
**참고**  
직접 생성한 풀 요청을 승인할 수 없습니다.

   **승인**에서 승인, 풀 요청에 대한 승인 규칙, 승인 규칙 템플릿에 의해 생성된 승인 규칙을 볼 수 있습니다. 풀 요청을 승인하지 않으려면 **승인 취소**를 선택할 수 있습니다.
**참고**  
미결 상태인 풀 요청만 승인하거나 승인을 취소할 수 있습니다. 상태가 병합됨 또는 종료됨인 풀 요청은 승인하거나 승인을 취소할 수 없습니다.  
![풀 요청의 승인 및 승인 규칙.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-approval-rule-met.png)

## 풀 요청 검토 (AWS CLI)
<a name="how-to-review-pull-request-cli"></a>

CodeCommit에서 AWS CLI 명령을 사용하려면를 설치합니다 AWS CLI. 자세한 내용은 [명령줄 참조](cmd-ref.md) 단원을 참조하십시오.

다음 AWS CLI 명령을 사용하여 풀 요청을 검토할 수 있습니다.
+ [**post-comment-for-pull-request**](#post-comment-reply) - 풀 요청에 주석을 추가합니다.
+ [**get-comments-for-pull-request**](#get-comments-for-pull-request) - 풀 요청에 남긴 주석을 봅니다.
+ [**update-pull-request-approval-state**](#update-pull-request-approval-state) - 풀 요청을 승인하거나 취소합니다.
+ [**post-comment-reply**](#post-comment-reply) - 풀 요청의 주석에 댓글을 답니다.

다음 명령을 사용하면 풀 요청에 주석이 달린 이모티콘을 사용할 수도 있습니다.
+ 주석에 이모티콘으로 반응하려면 [**put-comment-reaction**](how-to-commit-comment.md#how-to-commit-comment-cli-commit-reply-emoji)을 실행합니다.
+ 주석에 대한 이모티콘 반응을 보려면 [**get-comment-reactions**](how-to-commit-comment.md#how-to-commit-comment-cli-commit-emoji-view)을 실행합니다.

** AWS CLI 를 사용하여 CodeCommit 리포지토리의 풀 요청을 검토하려면**

1. 리포지토리의 풀 요청에 주석을 추가하려면 다음을 지정하여 **post-comment-for-pull-request** 명령을 실행합니다.
   + 풀 요청의 ID(**--pull-request-id** 옵션 사용).
   + 풀 요청을 포함하는 리포지토리의 이름(**--repository-name** 옵션 사용).
   + 풀 요청이 병합되는 대상 브랜치의 커밋의 전체 커밋 ID(**--before-commit-id** 옵션 사용).
   + 주석을 게시할 때 풀 요청에 대한 현재 말단 브랜치인 소스 브랜치의 커밋의 전체 커밋 ID(**--after-commit-id** 옵션 사용).
   + 클라이언트에서 생성된 고유한 멱등성 토큰(**--client-request-token** 옵션 사용).
   + 설명의 내용(**--content** 옵션 사용).
   + 다음을 비롯하여 주석을 추가할 위치에 대한 위치 정보 목록.
     + 확장자와 하위 디렉터리를 비롯하여 비교하려는 파일의 이름(**filePath** 속성 사용).
     + 비교한 파일 내 변경의 행 번호(**filePosition** 속성 사용).
     + 변경에 대한 주석이 소스와 대상 브랜치 간의 비교 '전'인지 '후'인지 여부(**relativeFileVersion** 속성 사용).

   예를 들어, {{"These don't appear to be used anywhere. Can we remove them?"}}라는 주석을 쓴다고 가정하겠습니다. {{MyDemoRepo}}라는 리포지토리에서 {{ahs\_count.py}} 파일의 변경 사항과 관련해, 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,
                  "lastModifiedDate": 1508369622.123,
                  "callerReactions": [],
                  "reactionCounts": []
               }
                "location": { 
                  "filePath": "ahs_count.py",
                  "filePosition": 367,
                  "relativeFileVersion": "AFTER"
                },
            "repositoryName": "MyDemoRepo",
            "pullRequestId": "47"
    }
   ```

1. 풀 요청에 대한 주석을을 보려면 다음을 지정하여 **get-comments-for-pull-request** 명령을 실행합니다.
   + CodeCommit 리포지토리의 이름(`--repository-name` 옵션 사용).
   + 풀 요청의 시스템 생성 ID(`--pull-request-id` 옵션 사용).
   + (선택 사항) 다음 결과 세트를 반환하는 열거형 토큰(`--next-token` 옵션 사용).
   + (선택 사항) 반환된 결과의 수를 제한하는 음수가 아닌 정수(`--max-results` 옵션 사용).

   예를 들어 다음 명령을 사용하여 ID가 42인 풀 요청에 대한 의견을 볼 수 있습니다.

   ```
   aws codecommit get-comments-for-pull-request --pull-request-id 42
   ```

   이 명령이 제대로 실행되면 다음과 비슷하게 출력됩니다.

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

1. <a name="update-pull-request-approval-state"></a>풀 요청을 승인하거나 승인을 취소하려면 다음을 지정하여 **update-pull-request-approval-state** 명령을 실행합니다.
   + 풀 요청의 ID(**--pull-request-id** 옵션 사용).
   + 풀 요청의 개정 ID(**--revision-id option)** 사용). [get-pull-request](how-to-view-pull-request.md#get-pull-request) 명령을 사용하여 풀 요청의 현재 개정 ID를 얻을 수 있습니다.
   + 적용할 승인 상태(**--approval-state** 옵션 사용). 유효한 승인 상태에는 `APPROVE` 및 `REVOKE`가 포함됩니다.

   예를 들어 다음 명령을 사용하여 ID가 {{27}}이고 개정 ID가 {{9f29d167EXAMPLE}}인 풀 요청을 승인합니다.

   ```
   aws codecommit update-pull-request-approval-state --pull-request-id {{27}} --revision-id {{9f29d167EXAMPLE}} --approval-state "APPROVE"
   ```

   성공한 경우 이 명령은 아무 것도 반환하지 않습니다.

1. 풀 요청의 주석에 댓글을 달려면 다음을 지정하여 **post-comment-reply** 명령을 실행합니다.
   + 댓글을 달 주석의 시스템 생성 ID(**--in-reply-to** 옵션 사용).
   + 클라이언트에서 생성된 고유한 멱등성 토큰(**--client-request-token** 옵션 사용).
   + 댓글의 내용(**--content** 옵션 사용).

    예를 들어, {{"Good catch. I'll remove them."}} 라는 댓글을 {{abcd1234EXAMPLEb5678efgh}}라는 시스템 생성 ID로 해당 주석에 추가하려면 다음 명령을 사용합니다.

   ```
   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,
           "lastModifiedDate": 150836912.221,
           "callerReactions": [],
           "reactionCounts": []
       }
    }
   ```