使用範本改善提取要求描述
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
撰寫良好的提取要求描述是協助檢閱者瞭解檢閱程式代碼時預期狀況的絕佳方式。 它們也是協助追蹤每個變更應該執行之動作的絕佳方式,例如測試、新增單元測試及更新檔。 提取要求範本可協助開發人員建立符合組織標準的絕佳提取要求描述。
本文說明如何開始使用提取要求範本。
備註
提取要求範本可以提供指引,但僅供諮詢。 使用分支政策來強制執行最佳做法,例如要求關鍵分支(如 main)的拉取請求、要求成功建置,以及要求必要的檢閱者。 如需詳細資訊,請參閱 分支原則。
先決條件
類別 | 需求 |
---|---|
專案存取 | 專案的成員。 |
許可 | - 在私人項目中檢視程式碼:至少 基本 權限。 - 複製或貢獻私人專案中的程式碼:作為 貢獻者 安全群組的成員或在專案中具有相應的許可權。 - 設定分支或存放庫許可權:管理分支或存放庫的許可權 許可權。 - 變更預設分支:編輯原則 存放庫的許可權。 - 匯入存放庫:專案管理員成員 安全組或 Git 專案層級 建立存放庫 許可權設定為 允許。 如需詳細資訊,請參閱 設定 Git 存放庫許可權。 |
服務 | 啟用 Repos。 |
工具 | 選擇性。 使用 az repos 命令:Azure DevOps CLI。 |
備註
在公用專案中,具有 項目關係人 存取權的使用者具有 Azure Repos 的完整存取權,包括檢視、複製及參與程式代碼。
什麼是提取要求範本?
提取要求範本是一個檔案,其中包含 Markdown 文字,會在建立提取要求時新增至提取要求描述。
Thank you for your contribution to the Fabrikam Fiber repo.
Before submitting this PR, please make sure:
- [ ] Your code builds clean without any errors or warnings
- [ ] You are using approved terminology
- [ ] You have added unit tests
Azure Repos 可讓您建立下列類型的提取要求範本:
- 預設 拉取請求模板,會自動應用於資料庫中的所有新拉取請求,除非被分支特定的拉取請求模板所覆蓋。
- 分支特定 提取要求範本,這些範本會自動套用至以特定分支為目標的提取要求
- 提取要求建立者可以選擇性新增的其他 提取要求範本
提取要求範本的類型取決於其檔名和資料夾位置,如下列各節所述。 檔名和資料夾位置不區分大小寫,但它們必須位於存放庫的預設分支中。
備註
所有提取要求範本檔案都必須位於存放庫的預設分支(通常是main)。 只會使用預設分支中的提取要求範本檔案。
默認提取要求範本
建立新的提取要求時,預設提取要求範本會自動套用至描述欄位。 若要使用預設提取要求範本來設定存放庫,請建立名為 pull_request_template.md
或 pull_request_template.txt
的檔案,並將它儲存在下列其中一個資料夾中的存放庫預設分支中。
- 存放庫根資料夾中包含名為
.azuredevops
的資料夾 - 存放庫根資料夾中包含名為
.vsts
的資料夾 - 存放庫根資料夾中包含名為
docs
的資料夾 - 存放庫的根資料夾
提供多個位置,可讓您彈性地儲存提取要求範本。 建立提取要求時,Azure Repos 會依指定的順序搜尋指定的資料夾,並使用它找到的第一個預設提取要求範本。
在存放庫中建立新的提取要求時,除非套用 分支特定提取要求範本,否則預設提取要求範本的內容會用來預先填入提取要求中的描述欄位。
您可以從 [新增範本] 下拉式選單 中選取,以編輯或新增至此描述,並視需要附加 其他拉取請求範本。
備註
當自動套用預設或分支特定的提取要求範本時,它會取代通常用於預設描述的標準認可訊息。 您可以選擇 [新增認可訊息來將其新增回 。
分支特定提取要求範本
您可以針對以特定分支為目標的提取要求設定分支特定提取要求範本。 若要使用分支特定的提取要求範本來設定存放庫,請建立以分支命名的 .txt
或 .md
檔案。 名稱必須符合分支名稱的第一層,例如 main
、dev
、release
或 feature
。 每當提取要求以分支或其包含的任何分支為目標時,都會套用每個分支特定的提取要求範本。 例如,如果提取要求以 feature
分支或任何 feature/*
分支為目標,則會套用名為 feature.md
的提取要求範本。
分支特定的提取要求範本必須使用下列資料夾階層,儲存在存放庫的預設分支中:pull_request_template/branches/
。 這些資料夾必須以存放庫中的下列其中一個資料夾為基礎。
- 存放庫根資料夾中包含名為
.azuredevops
的資料夾 - 存放庫根資料夾中包含名為
.vsts
的資料夾 - 存放庫根資料夾中包含名為
docs
的資料夾 - 存放庫的根資料夾
例如,應該套用至 dev
分支中所有提取要求的分支特定提取要求範本,會命名為 dev.md
或 dev.txt
,並位於下列其中一個位置。
<repository root>/.azuredevops/pull_request_template/branches/
<repository root>/.vsts/pull_request_template/branches/
<repository root>/docs/pull_request_template/branches/
<repository root>/pull_request_template/branches/
就像預設提取要求範本一樣,會提供多個位置,讓您有彈性地儲存分支特定的提取要求範本。 建立提取要求時,Azure Repos 會依指定給分支特定提取要求範本的順序搜尋指定的資料夾,並使用找到符合分支名稱的第一個資料夾。 如果找不到任何分支特定的提取要求範本,Azure Repos 會搜尋預設提取要求範本,如先前 預設提取要求範本 一節所述。
其他提取要求範本
除了預設和分支特定的提取要求範本之外,您還可以設定其他提取要求範本。 這些可以是 .md
或 .txt
檔案,位於預設分支的下列其中一個資料夾中。
<repository root>/.azuredevops/pull_request_template/
<repository root>/.vsts/pull_request_template/
<repository root>/docs/pull_request_template/
<repository root>/pull_request_template/
建立提取要求時,您可以從 [新增 範本] 下拉式清單中選擇任何可用的提取要求範本,以附加這些範本。 下拉式清單中的名稱是以範本的檔名為基礎。
在下列範例中會列出三個範本。
-
dev.md
- 這是預設套用至此提取要求至開發分支的分支特定範本,如檔名後面所列的預設 訊息所指示。 -
additional.md
- 這是額外的範本。 -
pull_request_template.md
- 這通常是預設範本,但在此合併請求中已被dev.md
分支特定範本覆寫。 即使它預設未新增,仍可藉由從清單中選取它來套用。
選取所需的其他範本名稱,將其內容附加至目前的提取要求描述。
備註
您可以指定拉取請求範本,通過在查詢字串中附加 ?template=name.md
,來覆蓋任何匹配的預設或分支特定的拉取請求。