Azure DevOps Server |Azure DevOps Server 2022
您的專案包含 100 個以上的數據欄位,視用來建立它的程式而定,例如 Agile、 Basic、 Scrum 或 CMMI。 每個工作項目都會系結至工作項目類型 (WIT),而您可以追蹤的數據會對應至指派給該 WIT 的欄位。 您可以 修改工作項目中的數據欄位來更新工作項目數據。
注意
如果您使用繼承的進程模型,請參閱 將自定義欄位新增至工作項目類型。
您可以修改現有的欄位,或新增自訂欄位來追蹤更多數據。 例如,您可以在下拉功能表中自定義挑選清單、設定預設值,或限制欄位可接受的值。
挑選清單會以不同的方式定義,例如透過使用者介面、WIT 工作流程,或將用戶帳戶新增至專案,如下表所示。
| WIT 定義 | 命令列變更 (內部部署 XML 處理程序) |
|---|---|
|
-
自定義挑選清單 - 將規則新增至欄位 - 新增自訂欄位 - 變更表單上的欄位標籤 - 新增自定義控制件 |
-
欄位清單 - 變更欄位屬性 - 刪除欄位 - 為欄位編製索引 |
必要條件
| 類別 | 要求 |
|---|---|
| 列出欄位 | 將集合集中專案的 [檢視專案層級資訊] 權限設為 [允許]。 |
| 新增或自定義欄位 | 成為 專案管理員 群組的成員,或將 [ 編輯專案層級資訊 ] 權限設定為 [允許]。 |
| 刪除、重新命名或變更欄位 | 成為 Team Foundation Administrators 安全組或 Project Collection Administrators 安全組的成員。 |
若要以系統管理員身分新增, 請變更專案集合層級的許可權。
工作專案欄位新增的方法
工作專案欄位會追蹤工作專案類型的數據、定義查詢篩選準則,以及產生報表。 除了系統欄位之外,您想要追蹤的任何資料元素都必須定義為工作專案欄位。 您可以在工作項目類型 (WIT) 或全域工作流程定義中定義欄位。
工作專案欄位會在專案集合層級進行管理和維護,並在以下情境中新增:
- 建立專案:會建立 WIT 或全域工作流程所選進程範本中定義的欄位。 每個工作項目類型會自動包含核心系統欄位。 如需核心系統欄位的清單,請參閱 工作專案欄位索引。 如需範本的詳細資訊,請參閱 處理範本。
- 匯入 WIT 定義:WIT 定義中定義的新欄位會新增至集合。 深入瞭解 所有 WITD XML 元素參考。
- 匯入全域工作流程定義:全域工作流程中定義的新欄位會新增至集合。 全域工作流程允許跨多個工作專案類型共用欄位。 如需詳細資訊,請參閱 自定義全域工作流程 。
集合中的一組完整欄位包括 WIT 中定義的所有欄位,以及跨所有專案的全域工作流程。 您可以修改屬性、重新命名或刪除欄位,但這些變更可能會影響內部部署伺服器和報告。
若要新增或自定義欄位,請編輯 WIT 定義的 XML 內容。 使用 FIELDS 區段中的 FIELD 元素定義每個欄位。 如需詳細資訊,請參閱 所有 FIELD XML 元素參考。
新增欄位、套用規則或變更屬性
若要新增自定義欄位、新增欄位規則,或變更工作項目表單上欄位的標籤,請修改使用欄位的 WIT 或類型。 遵循符合程式模型的自定義順序。
若要變更欄位屬性或重新命名字段,請使用 witadmin 命令行工具。 否則,若要修改欄位,您可以新增或修改與 WIT 定義內欄位相關聯的規則。
編輯 WIT 定義檔
若要新增規則或新增自定義欄位,請匯出、編輯,然後匯入 WIT 定義檔。
提示
使用 witadmin,您可以 匯入和導出定義檔。 您可以使用的其他工具包括行程編輯器(需要您已安裝 Visual Studio 版本)。 從 Visual Studio Marketplace 安裝程式範本編輯器。
若要追蹤數據,您可以將欄位新增至 WIT 定義檔,但系統欄位除外,這是以 System 開頭之參考名稱的欄位。 系統欄位會自動為所有 WIT 定義,即使它們未包含在 WIT 定義中也一樣。 如需詳細資訊,請參閱 工作專案欄位索引。
新增複選框或布爾值欄位
使用下列語法,在 WIT 定義的 FIELDS 區段中新增布爾欄位。
<FIELD name="Triage" refname="Fabrikam.Triage" type="Boolean" >
<DEFAULT from="value" value="False" />
<HELPTEXT>Triage work item</HELPTEXT>
</FIELD>
然後在 FORM 區段中新增下列語法,讓字段出現在表單上。
<Control Label="Triage" Type="FieldControl" FieldName="Fabrikam.Triage" />
欄位會顯示為表單上的複選框。
自定義挑選清單
選擇清單是會在工作項目表單的下拉式選單和查詢編輯器的 值 資料列中顯示的列舉值。 若要自定義大部分字串或整數位段的挑選清單,請編輯 WIT 定義。 例如,使用下列 XML 新增具有挑選清單的自定義解析欄位。
自訂欄位和挑選清單
<FIELD name="Resolution" refname="MyCompany.Resolution" type="String">
<ALLOWEDVALUES>
<LISTITEM value="By Design" />
<LISTITEM value="Duplicate" />
<LISTITEM value="External" />
<LISTITEM value="Fixed" />
<LISTITEM value="Not Repro" />
<LISTITEM value="Postponed" />
<LISTITEM value="Won't Fix" />
</ALLOWEDVALUES>
</FIELD>
規則可讓您合併清單、限制誰可以存取清單,以及在工作專案表單上顯示清單時設定條件。 您可以使用 expanditems 和 filteritems 屬性來控制通訊組清單是否顯示個別成員或篩選特定專案。
若要簡化維護,請在 WIT 或專案之間針對共用清單使用全域清單。 全域清單可減少更新共享清單所需的工作。 如果清單的某些部分需要跨 WIT 或專案而有所不同,您可以為挑選清單的特定部分定義全域清單。 如需詳細資訊,請參閱 定義挑選清單 和 定義全域清單。
將規則新增至欄位
若要新增自定義欄位或將規則套用至欄位,請編輯 WIT 定義。 您可以使用 for 或 not 屬性將規則限制為特定使用者或群組,以定義規則套用或排除的人員。
例如,下列代碼段會強制執行規則,只有管理小組的成員,自定義定義的群組,可以在建立工作項目之後修改 [堆棧排名] 字段:
<FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">
<FROZEN not="[project]\Management Team" />
<HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.</HELPTEXT>
</FIELD>
您可以將規則套用至欄位,以達成下列動作:
| 行動 | XML 元素 |
|---|---|
| 為欄位新增工具提示。 | HELPTEXT |
| 定義或限制欄位可以擁有的值。 | CANNOTLOSEVALUE、 EMPTY、 FROZEN、 NOTSAMEAS、 READONLY、 REQUIRED |
| 複製值或設定欄位的預設值。 | COPY、 DEFAULT、 SERVERDEFAULT |
| 限制誰可以修改欄位。 | VALIDUSER,對於,不是 |
| 強制執行字串欄位的模式比對。 | 比賽 |
| 根據其他域值有條件地套用規則。 | WHEN、 WHENNOT、 WHENCHANGED、 WHENNOTCHANGED |
「系統」前置詞所識別的系統字段,例如,System.ID 允許有限的規則自定義。 例如,您無法複製或清除追蹤建立、變更或關閉工作項目或系統管理的日期時間字段的欄位。
如需欄位規則和限制的詳細資訊,請參閱 規則和規則評估。
新增自訂欄位
若要新增自定義欄位,請編輯 WIT 定義,以在 FIELDS 區段內新增 FIELD 元素,以及 FORM 區段內的 Control 元素。
根據您使用的進程模型匯出 WIT 定義檔。
找出開頭
FIELDS為 的 XML 檔案區段。新增
FIELD元素,以指定要加入的自訂欄位名稱。 您必須指定下列必要屬性:易記name、refname(參考名稱)和type。 如需詳細資訊,請參閱 FIELD (Definition) 元素參考。下列程式代碼會指定自定義欄位 Requestor,其參考名稱
FabrikamFiber.MyTeam.Requestor為 ,以及允許值的挑選清單,預設值為 Customer。<FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension"> <ALLOWEDVALUES> <LISTITEM value="Customer" /> <LISTITEM value="Executive Management" /> <LISTITEM value="Other" /> <LISTITEM value="Support" /> <LISTITEM value="Team" /> <LISTITEM value="Technicians" /> <DEFAULTVALUE value="Customer" /> </ALLOWEDVALUES> </FIELD>提示
不論您在 XML 定義檔中輸入元素的方式為何,清單內的元素一律會以英數位元順序顯示。 [參考名稱] 或
refname是欄位的程式設計名稱。 所有其他規則都應該參考refname。 如需詳細資訊,請參閱 命名限制和慣例。在
Control區段內新增FORM元素,以便自定義欄位出現在您希望顯示的元素群組中的表單上。例如,下列代碼段會新增 [要求者] 欄位,以顯示在工作項目表單的 [原因] 欄位下方。
<Column PercentWidth="50"> <Group Label="Status"> <Column PercentWidth="100"> <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&gned To:" LabelPosition="Left" /> <Control FieldName="System.State" Type="FieldControl" Label="&State:" LabelPosition="Left" /> <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" /> <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" /> </Column> </Group> </Column>提示
在工作追蹤的
FORM架構定義中,該元素的所有子元素都必須使用駝峰式大小寫,而所有其他元素都必須大寫。 確定開啟和結尾標記的案例結構符合 XML 語法規則,以避免驗證錯誤。 如需詳細資訊,請參閱 控制 XML 元素參考。根據您使用的進程模型匯入 WIT 定義檔。
開啟入口網站或 Team Explorer 以檢視變更。 如果客戶端已經開啟,請重新整理頁面。
下圖顯示產品待辦事項的工作項目表單現在包含新欄位。
變更工作項目表單上的欄位標籤
若要修改欄位標籤,請變更指派給 Control 元素 Label 屬性的值。 若要從工作項目表單中移除欄位,請刪除與欄位對應的 Control 元素。
根據您的程式模型匯出 WIT 定義檔案。
在
FORM和Layout區段中,尋找您要修改之欄位的定義。 本範例會修改 [標題] 字段的標籤:<Column PercentWidth="70"> <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" /> </Column>變更欄位的標籤,讓處理此特定項目的葡萄牙分公司可以在使用工作項目表單時讀取 [標題] 字段的名稱。 在 [標題] 字段中包含標題 (Titulo) 的葡萄牙文單字。
<Column PercentWidth="70"> <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" /> </Column>匯入修改過的 WIT 定義。
新增自定義控制件
您可以使用 REST API 來追蹤工作專案,以程式設計方式建立、更新及尋找 Bug、工作和其他工作專案類型(WIT)。 此外,您可以建立自定義控件,以增強工作項目表單的功能。
或者,您可以使用透過 Visual Studio Marketplace 提供的自定義控件,例如:
若要將自定義控件新增至新的 Web 窗體,請參閱 WebLayout 和 Control 元素。
變更現有欄位的屬性
您可以使用 witadmin changefield 來變更現有欄位的屬性。 例如,下列命令會將為 MyCompany.Type 定義的友好名稱變更為評估方法。
witadmin changefield /collection:http://AdventureWorksServer:8080/ DefaultCollection/n:MyCompany.Type /name:"Evaluation Method"
下表概述您可以使用witadmin changefield變更的屬性。
| 屬性 | 描述 |
|---|---|
| 資料類型 | 指定欄位接受的數據類型。 一般而言,定義欄位數據類型之後,就無法變更。 您只能針對 HTML 或 PlainText 類型的欄位切換欄位資料類型。 |
| 友好的名稱 | 友善名稱會出現在工作項目查詢的下拉功能表中,而且必須在專案集合內的所有欄位中保持唯一。 易記名稱可能與工作項目表單上出現的標題不同。 |
| 報告屬性 | 您可以在報表中顯示時變更欄位的名稱、報表參考名稱和報告類型。 您可以將報告易記名稱當地語系化。 報告類型會決定欄位的數據是寫入關係型倉儲資料庫、關係型倉儲資料庫和 OLAP Cube,還是要在處理 OLAP Cube 時產生預先計算的值總和。 如需預設可報告欄位的完整清單,請參閱 可報告欄位參考 。 如需可報告屬性的詳細資訊,請參閱 工作專案字段和屬性、可報告屬性。 |
| 同步處理 | 您可以使用 Active Directory 啟用或停用人員名稱欄位的同步處理。 |
變更欄位的索引屬性
啟用欄位的索引編製,以改善篩選時的查詢回應時間。 根據預設,下列欄位會編製索引:指派給、建立日期、變更者、狀態、原因、區域標識碼、反覆專案標識碼和工作項目類型。
若要啟用或停用字段的索引編製,請使用 witadmin indexfield 命令。
刪除欄位
當您從特定 WIT 移除欄位時,該欄位會保留在集合或資料庫伺服器中,即使它不再由任何 WIT 參考也一樣。 若要完全移除欄位,請遵循下列步驟。
從所有 WIT 定義以及參考它的任何全域工作流程中移除
FIELD定義。確認欄位未使用中。 例如:
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact Field: MyCompany.CustomContact Name: Custom Contact Type: String Reportable As: dimension Use: Not In Use Indexed: False刪除欄位。 例如:
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact如果已刪除的欄位可回報,且您的專案使用 SQL Server Reporting Services, 請重建數據倉儲以清除舊的欄位及其值。
如需詳細資訊,請參閱 管理工作專案欄位。
測試、建置和版本控制欄位
某些工作專案類型包括自動化程式所產生的字段,這些字段與 Team Foundation Build、Microsoft Test Manager 和 Team Foundation 版本控制整合。 若要將這些欄位新增至您的自定義工作項目類型 (WIT),請依照稍早所述的步驟 編輯 WIT 定義 。
例如,您可以新增 出現於 和 整合於建置中 的欄位,以將 Bug 與其發現或修正的建置進行關聯。 使用下列代碼段在 WIT 定義中包含這些欄位:
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
<HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
</FIELD>
如需詳細資訊,請參閱 根據組建和測試整合欄位的查詢。