共用方式為


自訂託管的 XML 流程

Azure DevOps Services

Azure DevOps Services 支援透過 Web 型匯入流程的系統體驗來新增和更新流程。 新增流程之後,您可從其中建立一或多個專案。 您可隨時透過再次匯入來更新流程。 接著,對流程範本所做的變更會套用至使用流程的所有專案。

重要

使用裝載的 XML 進程模型,您可以更新進程範本的選取 XML 定義檔案,以自定義工作追蹤。 只有在使用Team Foundation Server 資料庫匯入服務將數據遷移至 Azure DevOps Services 時,才能使用此功能。

若要深入瞭解自定義和處理模型,請參閱 自定義工作追蹤

程式是包含一組相互依存檔案的 zip 檔案。 這些檔案會定義 Azure DevOps Services 中工作專案追蹤系統和其他子系統的建置組塊。 有些建置組塊會更新現有的專案,而其他建置組塊則只適用於新專案。 如需建置組塊的完整清單,請參閱下表。

匯入/更新進程時使用

建立新專案時使用

由系統預設值取代

忽視

工作項目追蹤

機智

類別

進程組態

區域和迭代

測試管理

工作項目

工作項目查詢

建立

實驗室管理

版本控制

Microsoft專案對應

報表

入口網站 (SharePoint 產品)

支援流程匯入操作的外掛程式和物件

Azure DevOps Services 支援的內容和內部部署 Team Foundation Server 支援的內容之間有差異。 如需這些差異的摘要,請參閱 處理範本自定義差異

先決條件

如需量身打造 Azure Boards 以符合特定業務需求的指引,請參閱 關於設定和自定義 Azure Boards

類別 要求
權限 - 若要建立、刪除或編輯進程:專案集合系統管理員 群組或特定集合層級許可權的成員,建立進程刪除進程編輯進程,或 將從組織中刪除一個欄位 設定為 [允許 ]。 如需詳細資訊,請參閱 設定工作追蹤的許可權和存取權、自定義繼承的進程
- 若要更新面板:Team AdministratorProject Administrators 群組的成員。
存取 - 即使您有 基本 或較低存取權,如果有人授與您許可權來執行此動作,您仍然可以變更程式。
- 若要更新和變更現有工作項目的類型:專案成員。
專案程式模型 - 具有包含專案之專案集合的 繼承程式模型
- 如果將數據遷移至 Azure DevOps Services,請使用 Team Foundation Server 資料庫匯入服務
知識 熟悉 客製化和程式模型。

如何自訂流程

當您自定義程式時,從定義完善的程序開始,比建置新程式更容易。

如果您更新用於本機 Team Foundation Server 的現有流程,請確保它符合 匯入範本的條件約束

開啟設定>流程

您可以從組織設定>程式建立、管理及自訂程式

  1. 選擇 Azure DevOps 標誌以開啟 Projects。 然後選擇 [ 組織設定]。

    開啟 [組織設定]

  2. 然後選擇 [ 處理]。

    [組織設定]、[處理] 頁面

    重要

    如果您沒有看到 Process,那麼您使用的是 TFS-2018 或更早的版本。 不支援 [ 處理 ] 頁面。 您必須使用內部 部署 XML 進程模型支援的功能。

匯出和匯入過程

  1. 從 [ 行程 ] 索引標籤中,選取省略號 (...) 以開啟您要匯出之託管 XML 進程的快捷方式選單。 您只能匯出託管的 XML 進程。

    處理頁面 > 匯出託管 XML 處理選單選項

    儲存 zip 檔案,並從中擷取所有檔案。

  2. 重新命名位於根目錄中ProcessTemplate.xml檔案內的程式。

    請為過程命名,以區別於現有的過程。

    <name>MyCompany Agile Process </name>

    變更版本類型,並變更主要和次要數位。 提供類型的獨特 GUID,如以下範例所示:

    <version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>

  3. 套用支援的自定義。

  4. 在根目錄中建立所有檔案和資料夾的 zip 檔案。

  5. 匯入自定義程式的 zip 檔案。

支援的自訂化

您可以將下列自訂項目套用至您的程式:

下一節列出系統強加的限制。

限制

您最多可將 32 個流程匯入至 Azure DevOps Services。 您的自定義程序必須符合下列所有摘要規則。 否則,在匯入後可能會顯示驗證錯誤訊息。

進程範本

您的ProcessTemplate.xml檔案必須符合 ProcessTemplate XML 元素參考中所述的語法和規則。 此外,它必須符合下列條件:

  • 將定義的 WIT 數目限制為 64
  • 只包含一個Categories.xml定義檔
  • 只包含一個ProcessConfiguration.xml定義檔
  • 在所有欄位和 WIT 定義中使用唯一且易於辨識的名稱

此外,您的程式必須通過下列驗證檢查:

  • 進程名稱是唯一的,最多包含155個Unicode字元。
    • 與現有進程具有相同名稱和版本 GUID 的範本會覆寫該程式。
    • 具有相同名稱但不同版本 GUID 的範本會產生錯誤。
    • 進程名稱不能包含下列特殊字元: . , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >
      如需其他條件約束,請參閱命名限制。
  • 進程資料夾不包含任何.exe檔案。 即使您可以匯入包含.exe檔案的程式,專案建立仍會失敗。
  • 此程式的大小總計最多為 2 GB。 否則,專案建立會失敗。

進程組態

ProcessConfiguration.xml定義檔必須符合 ProcessConfiguration XML 元素參考中所述的語法和規則。 此外,它必須符合下列條件:

  • 指定所有 TypeFields 元素
  • 限制為五個組合待辦專案
  • 只包含一個未父系組合待辦專案
  • 只為每個次級組合待辦事項指定一個父組合待辦事項。
  • 包含所需的工作流程狀態到中繼狀態的對應,且不涉及不支援的中繼狀態。

類別

Categories.xml定義檔必須符合 Categories XML 元素參考中所述的語法和規則。 此外,它必須符合下列條件:

  • 限制為32個類別
  • 定義ProcessConfiguration.xml檔案中參考的所有類別

工作項目類型

WITD 元素及其子元素必須符合 WITD XML 元素參考中所述的語法和規則。 此外,它必須符合下列條件:

  • 在單一 WIT 內最多有 1024 個字段,且所有 WIT 有 1024 個字段。
  • 指派給 WIT 的易記名稱和必要的 refname 屬性在 WIT 定義檔集中是唯一的。
  • 必要的 refname 屬性值不應包含不允許的字元,也不應使用不允許的命名空間 System.Name 和 Microsoft.Name
  • 參考名稱至少包含一個句號(.),而所有其他字元都是沒有空格的字母。
  • WITD 元素包含 FORM 元素,定義符合 WebLayout 和 Control 元素中所指定語法的 WebLayout 元素

工作專案欄位

FIELDS 元素及其子項目必須符合 FIELD XML 元素參考中所述的語法和規則。 此外,它必須符合下列條件:

  • 指派給 WIT 的易記名稱和必要的 refname 屬性在 WIT 定義檔集中是唯一的。
  • 必要的refname屬性值不能包含不允許的字元,也不能使用不允許的命名空間 System.Name 和 Microsoft.Name
  • 參考名稱至少包含一個句號(.),而所有其他字元都是沒有空格的字母。

FIELD 元素及其子專案可以包含 GLOBALLIST 元素。

限制限制

  • FIELDS 元素限製為 1024 個字段。
  • 工作專案類型限制為64個人員名稱欄位。 人員名稱欄位是具有 屬性和值的 syncnamechanges=true欄位。
  • ALLOWEDVALUESSUGGESTEDVALUES 元素限制為 512 個 LISTITEM 元素。
  • 欄位限制為1,024個規則。

必填欄位

ProcessConfiguration.xml 檔案中指定了下列欄位:

  • 針對定義進程組態待辦專案之類別中的所有 WIT,請指定用於屬性和值 type=Teamtype=Order的欄位。
  • 針對定義標準待辦事項或組合待辦清單之類別中的所有 WIT,請指定用於type=Effort的欄位。
  • 針對定義 TaskBacklog 元素之類別中的所有 WIT,指定:
    • 用於的 type=RemainingWork欄位。
    • 用於的 type=Activity欄位。
    • 使用於type=ActivityALLOWEDVALUES欄位的規則。

規則限制

除了標準 欄位規則限制之外,也會強制執行下列限制:

  • 欄位規則項目無法指定 fornot 屬性。
  • FIELD 元素不可包含子規則元素 CANNOTLOSEVALUENOTSAMEASMATCHPROHIBITEDVALUES
  • 除了下列欄位之外, System 的 FIELD 定義除外。名稱 欄位不能包含欄位規則。
    • System.Title 可以包含 REQUIREDDEFAULT 的規則。
    • System.Description 可以包含 REQUIREDDEFAULT 規則
    • System.AssignedTo 可以包含的規則有 REQUIREDDEFAULTALLOWEXISTINGVALUEVALIDUSER
    • System.ChangedBy 可以包含規則 REQUIREDDEFAULTALLOWEXISTINGVALUEVALIDUSER

一致的名稱和屬性

在進程或專案集合內,FIELD 元素定義的名稱類型和其他屬性在所有 WIT 定義中都必須相同。

識別欄位

身分識別欄位對應於用來包含帳戶、使用者或群組名稱的欄位。 下列核心系統欄位會硬式編碼為識別欄位:

  • 指派給(System.AssignedTo)
  • 授權身份 (System.AuthorizedAs)
  • 變更者 (System.ChangedBy)
  • 建立者 (System.CreatedBy)
  • 已啟用者 (Microsoft.VSTS.Common.ActivatedBy)
  • 關閉者(Microsoft.VSTS.Common.ClosedBy)
  • 解決者 (Microsoft.VSTS.Common.ResolvedBy)
新增自定義身分識別欄位

當您將屬性 syncnamechanges 指定為 True 時,字串欄位會辨識為識別欄位。

身分識別欄位的規則限制

針對目前的程序匯入版本,請勿在 FIELD 定義中指定下列任何規則。

  • 建議值
  • 包含非身份值的規則。
正確範例

若要限制在身分識別欄位中有效的帳戶名稱,請指定具有群組名稱屬性的 VALIDUSER 元素。

    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER group="[PROJECT]\Program Manager Group" />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

匯入程式之前,請確定您已在程式更新的專案中建立群組。

不正確的範例

下列範例無效,因為它指定:

  • ALLOWEDVALUES 元素。
  • 指定非識別字串value="Not Assigned"DEFAULT元素。
    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <ALLOWEDVALUES>
          <LISTITEM value="[PROJECT]\Program Manager Group" />
          <LISTITEM value="Not Assigned" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="Not Assigned" />
        <VALIDUSER />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

工作流程

WORKFLOW 元素及其子項目必須符合 WORKFLOW XML 元素參考中所述的語法和規則。 此外,它必須符合下列條件:

  • 將每個 WIT 限制為 16 個工作流程狀態
  • 定義在 ProcessConfiguration 定義檔案中所有映射到中繼狀態的工作流程狀態。
  • 定義從對應至「建議」狀態類別的所有工作流程狀態,到對應至「進行中」狀態類別的工作流程狀態之間的轉換。
  • 定義在工作流程狀態從對應至「進行中」狀態類別到對應至「完成」狀態類別之間的轉換。

如需關於狀態分類和對應的說明,請參閱 工作流程狀態和狀態分類

全域清單

針對代管的 XML 程序模型,全域清單匯入會受到以下限制:

  • 最多有 64 個全域清單。
  • 每個清單最多有1,024個項目。
  • 在所有 WIT 所指定的全域清單中,可以總共定義大約 10,000 個項目。

表單配置

FORM 元素及其子項目必須符合 FORM XML 元素參考中所述的語法和規則。

Control 元素無法指定自定義控制項。 不支援自定義控制件。