檢閱提取請求 - AWS CodeCommit

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可繼續正常使用此服務。了解更多」

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢閱提取請求

您可以使用主 AWS CodeCommit 控台來檢閱提取要求中包含的變更。您可以對請求、檔案,以及個別的程式碼行新增評論。您也可以回覆其他使用者的評論。如果您的儲存庫已設定通知,當使用者回覆您的評論或是當使用者對提取請求加上評論時,您會收到電子郵件。

您可以使用 AWS CLI 來評論提取請求並回覆註解。若要檢閱變更,您必須使用 CodeCommit 主控台、git diff指令或差異工具。

檢閱提取要求 (主控台)

您可以使用主 CodeCommit 控台來檢閱 CodeCommit 儲存庫中的提取要求。

  1. 請在以下位置開啟 CodeCommit 主控台。 https://console.aws.amazon.com/codesuite/codecommit/home

  2. Repositories (儲存庫) 中,選擇儲存庫的名稱。

  3. 在導覽窗格中,選擇 Pull requests (提取請求)

  4. 依預設,會顯示所有開啟的提取請求清單。選擇您想要檢閱的開啟中提取請求。

    顯示在 CodeCommit 主控台中的開啟提取要求。
    注意

    您可以對已關閉或合併的提取請求作評論,但無法合併或重新開啟該提取請求。

  5. 在提取請求中,選擇 Changes (變更)

  6. 執行以下任意一項:

    • 若要對整個提取請求加上一般性評論,請在 Comments on changes (對變更加上評論)New comment (新增評論) 中,輸入評論,然後選擇 Save (儲存)。您可以使用 Markdown,或也可以純文字輸入您的評論。

      對提取請求中變更的一般評論。
    • 若要對遞交中的檔案新增評論,請在 Changes (變更) 中找到檔案的名稱。選擇檔案名稱旁顯示的評論圖示 The comment bubble icon that that indicates that you can leave a comment on that line of code. ,輸入評論,然後選擇 Save (儲存)

      對提取請求中的檔案新增評論。
    • 若要對提取請求中變更的行新增評論,在 Changes (變更) 中,移至您要加上評論的行。選擇該行顯示的評論圖示 The comment bubble icon that that indicates that you can leave a comment on that line of code. ,輸入評論,然後選擇 Save (儲存)

      對提取請求中的行新增評論。
  7. 若要回覆對遞交的評論,在 Changes (變更)Activity (活動) 中,選擇 Reply (回覆)。您可以使用文字和表情符號回覆。

    在評論中添加回复和表情符號反應。

    您可以通過選擇以特定表情符號反應回复來查看回應者的姓名。若要檢視所有表情符號反應和誰使用哪些表情符號回應的資訊,請選擇「檢視所有表情符 如果你已回覆留言的表情符號,你的回應會顯示在表情符號反應按鈕的圖示中。

    注意

    控制台中顯示的反應計數在頁面加載時是準確的。如需表情符號反應計數的最新資訊,請重新整理頁面,或選擇 [檢視所有反應]。

    查看有關使用表情符號反應回應留言的使用者的資訊。
  8. (選擇性) 若要回覆 Amazon CodeGuru 審核者建立的建議,包括提供有關建議品質的意見反應,請選擇回覆。使用反應按鈕,提供有關您是否核准或拒絕建議的一般資訊。使用評論欄位提供有關反應的更多詳細資料。

    注意

    Amazon CodeGuru Reviewer 是一種自動化程式碼檢閱服務,它使用程式分析和機器學習來偵測常見問題,並建議 Java 或 Python 程式碼中的修正程式。

    • 如果您已將儲存庫與 Amazon CodeGuru 審核者相關聯、分析完成,且提取請求中的程式碼為 Java 或 Python 程式碼,則只有在您將儲存庫關聯時,才會看到 Amazon CodeGuru 審核者註解。如需詳細資訊,請參閱 將 AWS CodeCommit 儲存庫與 Amazon CodeGuru 審核者建立關聯或取消關聯

    • 只有在提取請求的最 CodeGuru 新修訂版本中提出註解時,Amazon 審核者註解才會顯示在「變更」索引標籤中。它們始終顯示在「動」標簽中。

    • 雖然您可以對 Amazon CodeGuru Reviewer 建議的任何可用表情符號反應做出回應,但只有豎起大拇指和豎起大拇指表情符號反應來評估推薦的有用性。

    由 Amazon 審核 CodeGuru 者建立的建議,其中包含正在進行的審核工作。
  9. 若要核准提取請求中所做的變更,請選擇 Approve (核准)

    注意

    您無法核准您自己建立的提取請求。

    您可以在 Approvals (核准) 中檢視核准、提取請求的核准規則、以及由核准規則範本建立的核准規則。如果您最後決定不要核准提取請求,您可以選擇 Revoke approval (撤銷核准)

    注意

    您只能核准或撤銷未結案提取請求的核准。如果提取請求的狀態為 Merged (已合併) 或 Closed (已關閉),您無法核准或撤銷核准。

    提取請求中的核准與核准規則。

檢閱提取要求 (AWS CLI)

若要搭配使用 AWS CLI 指令 CodeCommit,請安裝 AWS CLI. 如需詳細資訊,請參閱 命令列參考

您可以使用下列 AWS CLI 指令來檢閱提取請求:

您也可以透過下列指令在提取要求中使用含有註解的表情符號:

使用檢 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 屬性)。

      • 對變更的評論在來源與目的地分支之間比較中為 "before" 或 "after" (使用 relativeFileVersion 屬性)。

    例如,使用此命令添加註釋 「這些似乎不會在任何地方使用。我們可以刪除它們嗎?」 在一個名為的存儲庫中識別碼為 47 的提取請求中對 ahs_count.py 文件進行更改MyDemoRepo

    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" }
  2. 若要檢視提取請求的評論,請執行 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" }
  3. 若要核准或撤銷提取請求的核准,請執行 update-pull-request-approval-state 命令,並指定:

    • 提取請求的 ID (使用 --pull-request-id 選項)。

    • 提取請求的修訂 ID (使用 --revision-id option)。您可以使用get-pull-request指令取得提取要求的目前修訂 ID。

    • 您要套用的核准狀態 (使用 --approval-state) 選項。有效的核准狀態包括 APPROVEREVOKE

    例如,使用此命令來核准 ID 為 27 且修訂 ID 為 9f29d167EXAMPLE 的提取請求。

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

    若成功,此命令不會傳回任何內容。

  4. 若要對提取請求中的評論張貼回覆,請執行 post-comment-reply 命令,指定:

    • 您要回覆的評論由系統產生的 ID (使用 --in-reply-to 選項)。

    • 唯一的用戶端產生冪等符記 (使用 --client-request-token 選項)。

    • 回覆的內容 (使用 --content 選項)。

    例如,使用此命令添加回复 「好 catch。我會移除它們。」 與系統生成的標識的 AB CD1234 示例 B5678EFGH 的評論。

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