將工作專案類型新增至待辦專案和面板

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

重要

本文適用於裝載的 XML 和內部部署 XML 進程模型的專案自定義。 如需繼承程式模型,請參閱 自定義流程的待辦專案或面板。 如需程式模型的概觀,請參閱 自定義您的工作追蹤體驗

若要滿足選取的商務程式,您的小組可能會想要追蹤其他工作項目類型(WIT)作為需求或工作。 如此一來,您就可以在產品和短期衝刺待辦專案或工作流程看板和工作面板內新增它們並加以追蹤。

例如,您可能想要根據目標客戶,或根據其來源來追蹤不同類型的需求。 在這裡,Fabrikam Fiber 小組已新增服務應用程式 WIT 來追蹤支援其客戶服務小組的工作。

將自定義 WIT,例如服務應用程式新增至需求類別,以像需求一樣追蹤

提示

如果您想要做的就是將 Bug 新增至待辦專案和面板,請參閱 在待辦專案和面板 上顯示 Bug,讓您的小組選擇。 如果您想要新增另一個 WIT 和組合待辦專案,請參閱 新增組合待辦專案層級

若要新增 WIT 來追蹤需求、工作或 Bug,請執行對應的步驟:

注意

我們建議您將 WIT 新增至下列其中一個類別:需求類別、工作類別或 Bug 類別。 系統可防止您將相同的 WIT 新增至需求類別目錄和工作類別目錄。 您新增至 Bug 類別目錄的 WIT 會遵循 小組所設定的錯誤行為。

自訂順序

裝載的 XML 進程模型自訂順序

注意

如果您透過匯入/匯出定義檔案來自定義程式,請使用下列指引。 否則,如果您透過系統管理員 UI 自定義程式,請參閱 新增或修改進程的自定義工作項目類型。

您將變更進程定義檔案,然後匯入該程式以更新現有的專案或使用程式來建立專案。

內部部署 XML 進程模型自訂順序

您必須先匯出工作追蹤定義檔案、更新它們,然後將它們匯入至您的專案。

新增 WIT 以像需求一樣追蹤

您新增至需求類別的 WIT 會顯示在產品待辦專案和工作流程看板上。 您必須確定 WIT 定義包含支援敏捷式規劃工具的必要欄位。

  1. 如第一個步驟所示,導出您的進程(託管 XML)或您的定義檔案(內部部署 XML)。

  2. 編輯 WIT 定義以支援規劃工具。

    自訂/要新增或更新的語法

    堆疊排名 欄位 (Agile, CMMI)

    <FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">     
    <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage. 
    </HELPTEXT>      
    </FIELD> 
    

    待處理項目優先順序 欄位 (Scrum)

    <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" /> 
    

    [值區域] 欄位

    <FIELD name="Value Area" refname="Microsoft.VSTS.Common.ValueArea" type="String"> 
    <REQUIRED />   
    <ALLOWEDVALUES>    
    <LISTITEM value="Architectural" />   
    <LISTITEM value="Business"/>   
    </ALLOWEDVALUES>   
    <DEFAULT from="value" value="Business" /> 
    <HELPTEXT>Business = delivers value to a user or another system; Architectural = work to support other stories or components  
    </HELPTEXT>   
    </FIELD>
    

    需求類型 欄位 (CMMI)

    <FIELD name="Requirement Type" refname="Microsoft.VSTS.CMMI.RequirementType" type="String" reportable="dimension">  
    <REQUIRED />  
    <ALLOWEDVALUES>  
    <LISTITEM value="Scenario" />  
    <LISTITEM value="Quality of Service" />  
    <LISTITEM value="Functional" /> 
    <LISTITEM value="Operational" />  
    <LISTITEM value="Interface" />  
    <LISTITEM value="Security" />  
    <LISTITEM value="Safety" />  
    <LISTITEM value="Business Objective" />  
    <LISTITEM value="Feature" />  
    </ALLOWEDVALUES> 
    <DEFAULT from="value" value="Functional" />  
    </FIELD>
    

    WORKFLOW 區段更新或驗證 WORKFLOW 區段,如下所示:

    • Agile、User Story:將轉換從 Active 新增至 RemovedResolvedRemoved;移除狀態= 時填入 Activated ByActivated Date 字段的規則Resolved
    • Scrum、產品待辦專案:從 新增轉換 CommittedRemoved
      如果您已自定義 WORKFLOW,請務必在 ProcessConfiguration RequirementBacklog 區段中定義必要的狀態到中繼狀態對應。

    FORM 區段 新增或確認下列欄位已新增至 FORM 區段:

    • 敏捷:
    <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" />  
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
    • Cmmi:
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" />
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.CMMI.RequirementType" Label="Type" LabelPosition="Left" /> 
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
    • Scrum:
    <Control FieldName="Microsoft.VSTS.Scheduling.Effort" Type="FieldControl" Label="Effort" LabelPosition="Left" />  
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
  3. 編輯 [類別] 定義。 將 WIT 新增至需求類別。 我們在這裡新增服務應用程式。

    <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">
       <DEFAULTWORKITEMTYPE name="User Story" />
       <WORKITEMTYPE name="Service App" />
    </CATEGORY>
    
  4. 更新或驗證 ProcessConfiguration 定義: RequirementBacklog 您要新增之 WIT 的區段。 具體來說,請確定符合下列條件:

    • 將每個工作流程狀態的開始對應至 type="Proposed"
    • 將您想要顯示在工作流程看板上的每個中繼工作流程狀態對應至 type="InProgress"
    • 將每個工作流程狀態的結尾對應至 type="Complete"
    • 請確定您只有一個狀態對應至 type="Complete"
      例如,新增擱置工作流程狀態:
    <States>    
         <State value="New" type="Proposed" />  
         <State value="Active" type="InProgress" />  
         <State value="Pending" type="InProgress" />  
         <State value="Resolved" type="InProgress" />  
         <State value="Closed" type="Complete" />  
    </States>   
    
  5. 將 WIT 色彩定義新增至 ProcessConfiguration 區 WorkItemColors 段。 例如:

    <WorkItemColor primary="FF33CC33" secondary="FFD6F5D6" name="Service App" />
    
  6. 更新您的項目:

新增 WIT 以像工作一樣追蹤

您新增至工作類別的 WIT 會顯示在短期衝刺待辦專案和工作面板上。 您新增的 WIT 必須指定必要的欄位,才能支援敏捷式規劃工具。

  1. 如第一個步驟所示,導出您的進程(託管 XML)或您的定義檔案(內部部署 XML)。

  2. 編輯 WIT 定義以支援規劃工具。

    自訂/要新增或更新的語法

    堆棧排名 欄位(敏捷式,CMMI)

    <FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
    <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.  
    </HELPTEXT>   
    </FIELD> 
    

    ** 待辦項目優先順序** 字段 (Scrum)

    <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" />   
    

    活動 欄位(敏捷式、Scrum)

    <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension"> 
    <HELPTEXT&gt;Type of work involved&lt/HELPTEXT> 
    <SUGGESTEDVALUES&gt;  
    <LISTITEM value="Development" />    
    <LISTITEM value="Testing" />    
    <LISTITEM value="Requirements" />    
    <LISTITEM value="Design" />    
    <LISTITEM value="Deployment" />    
    <LISTITEM value="Documentation" />    
    </SUGGESTEDVALUES>    
    </FIELD>    
    

    專業領域 欄位 (CMMI)

    <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension">  
    <ALLOWEDVALUES&gt;  
    <LISTITEM value="Analysis" />    
    <LISTITEM value="User Experience" />   
    <LISTITEM value="User Education" />    
    <LISTITEM value="Development" />   
    <LISTITEM value="Test" />   
    </ALLOWEDVALUES>    
    </FIELD>    
    

    剩餘工 時欄位 (全部)

    <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>    
    An estimate of the work remaining to complete the task (in person hours)  
    </HELPTEXT>
    </FIELD>    
    

    其他排程欄位 (Agile, CMMI)

    <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT&gt; The original estimate of work required to complete the task (in person hours)</HELPTEXT>   
    </FIELD>    
    <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>An estimate of the work remaining to complete the task (in person hours)
    </HELPTEXT>  
    </FIELD>    
    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>    
    The work that has been completed for this task (in person hours)  
    <HELPTEXT>    
    </FIELD>    
    <FIELD name="Start Date" refname="Microsoft.VSTS.Scheduling.StartDate" type="DateTime" reportable="dimension" />   
    <FIELD name="Finish Date" refname="Microsoft.VSTS.Scheduling.FinishDate" type="DateTime" reportable="dimension" />   
    

    WORKFLOW 區段
    更新或驗證 區 WORKFLOW 段,如下所示:

    • Agile、User Story:將轉換從 Active 新增至 RemovedResolvedRemoved;移除狀態= 時填入 Activated ByActivated Date 字段的規則Resolved
    • Scrum、產品待辦專案:從 新增轉換 CommittedRemoved
      如果您已自定義 WORKFLOW,請務必在 ProcessConfiguration TestBacklog 區段中定義必要的狀態到中繼狀態對應。

    FORM 區段
    新增或確認下列欄位已新增至 區 FORM 段:

    • 敏捷:
    <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" />    
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
    • Cmmi:
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" /&gt;    
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
    • Scrum:
    <Control FieldName="Microsoft.VSTS.Scheduling.Effort" Type="FieldControl" Label="Effort" LabelPosition="Left" />   
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
  3. 編輯 [類別] 定義。 將 WIT 新增至 [工作] 類別。 我們在這裡新增服務工作。

    <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">
       <DEFAULTWORKITEMTYPE name="Task" />
       <WORKITEMTYPE name="Service Task" />
    </CATEGORY>
    
  4. 更新或驗證 ProcessConfiguration 定義: TaskBacklog 您要新增之 WIT 的區段。
    具體來說,請確定符合下列條件:

    • 將每個工作流程狀態的開始對應至 type="Proposed"
    • 將您想要顯示在工作面板上的每個中繼工作流程狀態對應至 type="InProgress"
    • 將每個工作流程狀態的結尾對應至 type="Complete"
    • 請確定您只有一個狀態對應至 type="Complete"

    例如,新增 Blocked 工作流程狀態:

    <States>  
       <State value="New" type="Proposed" />  
       <State value="Active" type="InProgress" />  
       <State value="Blocked" type="InProgress" />  
       <State value="Resolved" type="InProgress" />  
       <State value="Closed" type="Complete" />  
    </States>  
    
  5. 將 WIT 色彩定義新增至 ProcessConfiguration 區 WorkItemColors 段。 例如:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Task" />
    
  6. 更新您的項目:

  7. 確認您可以將 WIT 新增至工作面板。 開啟工作面板頁面,或如果頁面已經開啟,請重新整理頁面。
    您應該能夠選取 [工作] 或 [服務工作] 做為使用者劇本的連結工作專案。
    已新增服務工作工作項目類型的工作面板

    在工作面板上,拖曳工作專案以更新其狀態。 您會發現,您無法將專案拖曳至狀態無效的數據行。 例如,您無法將 [工作] 拖曳至 [封鎖] 狀態,或將 [工作] 拖曳至已解析的狀態。 如果您想要使用這些狀態,請將它們新增至對應 WIT 定義的工作流程定義。

將 WIT 新增至 Bug 類別

您新增至 Bug 類別的 WIT 將會根據 小組設定來處理。 由於這些 WIT 可能會被視為需求或工作,因此它們必須符合需求和工作的敏捷式規劃工具需求。

  1. 如第一個步驟所示,導出您的進程(託管 XML)或您的定義檔案(內部部署 XML)。

  2. 編輯 WIT 定義以支援規劃工具,方法是符合新增 WIT 以追蹤為需求的步驟 2 新增 WIT 以追蹤為工作的條件。

  3. 編輯 [類別] 定義。 將 WIT 新增至 Bug 類別。 我們在這裡新增兩個 WIT。

    <CATEGORY name="Bug Category" refname="Microsoft.BugCategory">  
       <DEFAULTWORKITEMTYPE name="Bug" />  
       <WORKITEMTYPE name="Service Bug" />  
       <WORKITEMTYPE name="Feedback" />  
    </CATEGORY>
    
  4. 更新或驗證 ProcessConfiguration 定義: BugWorkItems 您要新增之 WIT 的區段。

    具體來說,請確定符合下列條件:

    • 將每個工作流程狀態的開始對應至 type="Proposed"
    • 將您想要顯示在工作流程看板或工作面板上的每個中繼工作流程狀態對應至 type="InProgress"
    • 將每個工作流程狀態的結尾對應至 type="Complete"
    • 請確定您只有一個狀態對應至 type="Complete"

    例如,新增 Investigate 工作流程狀態:

    <States>  
     <State value="New" type="Proposed" />  
     <State value="Active" type="InProgress" />  
     <State value="Investigate" type="InProgress" />  
     <State value="Resolved" type="InProgress" />  
     <State value="Closed" type="Complete" />  
    </States>  
    
  5. 將 WIT 色彩定義新增至 ProcessConfiguration 區 WorkItemColors 段。 例如:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Bug" />  
    <WorkItemColor primary="FFFF00FF" secondary="FFFFCCFF" name="Feedback" />  
    
  6. 更新您的項目:

  7. 選擇小組設定,以瞭解 Bug 的追蹤方式。

  8. 確認 WIT 會如預期般出現在待辦專案和面板上,而且您可以如預期般透過待辦專案加以新增。

匯入與匯出定義檔 (內部部署 XML)

使用 witadmin 命令匯入和匯出定義檔。 如需詳細資訊,請參閱 wit 管理員:自定義及管理追蹤工作的物件。

提示

使用 witadmin,您可以 匯入和導出定義檔。 您可以使用的其他工具包括行程編輯器(需要您已安裝 Visual Studio 版本)。 從 Visual Studio Marketplace 安裝程式範本編輯器。

  1. 根據 wit 中提供的指示開啟命令提示字元視窗 管理員:自定義和管理追蹤工作的物件。 例如:
  1. witadmin輸入 命令,以取代所顯示自變數的數據。 例如,若要匯入 WIT:

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\WITDefinitionFile.xml"
    

    針對 CollectionURL 指定專案集合的 URL,而 ProjectName 則指定集合內定義的項目名稱。 您必須以下欄格式指定 URL: http://ServerName:Port/VirtualDirectoryName/CollectionName

    針對 DirectoryPath,指定保存您下載之進程範本的資料夾路徑 WorkItem Tracking/TypeDefinitions 。 目錄路徑必須遵循此結構: Drive:\TemplateFolder\WorkItem Tracking\TypeDefinitions

    例如,匯入 ServiceApp WIT:

    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection"/p:MyProject /f:"DirectoryPath/ServiceApp.xml"
    

使用這些指令來匯出和匯入 WIT、類別和程式設定:

witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:TypeName /f:"DirectoryPath\WITDefinitionFile.xml"  
witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\WITDefinitionFile.xml"  
witadmin exportcategories /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/categories.xml"  
witadmin importcategories /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/categories.xml"   
witadmin exportprocessconfig /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/ProcessConfiguration.xml"  
witadmin importprocessconfig /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/ProcessConfiguration.xml"  

我們剛剛示範如何將另一個 WIT 新增至待辦專案或面板。 不過,如果您想要新增另一個 WIT 作為組合待辦專案,請參閱 新增組合待辦專案

如需自定義工作追蹤物件可用之所有選項的概觀,請參閱 自定義您的工作追蹤體驗

若要瞭解如何在待辦專案或面板上顯示階層式或巢狀專案,請參閱 待辦專案和面板如何顯示階層式專案或巢狀專案