定義和修改工作項目欄位

工作項目欄位可用來追蹤某個工作項目類型的資料、定義查詢的篩選準則,以及產生報表。 任何您要追蹤、用以定義工作流程,或要在工作項目類型的表單上顯示的資料項目 (不包括 Team Foundation Server (TFS) 中的核心系統資料欄位),都必須以工作項目欄位的形式來定義。 您可以在工作項目類型或全域工作流程的定義內定義工作項目欄位。

工作項目欄位是以 Team 專案集合為單位受到維護。 執行下列其中一項工作時會加入欄位:

  • 建立 Team 專案。 工作項目類型或全域工作流程的定義內所定義的欄位,以及為選取之流程範本所定義的欄位都會建立。 針對 Team 專案所定義的每個工作項目類型,都會自動定義核心系統欄位。 如需這些欄位的清單,請參閱Visual Studio ALM 的工作項目欄位參考

  • 匯入工作項目類型定義。 工作項目類型定義內所定義的所有新欄位都會加入至集合。 如需詳細資訊,請參閱所有 WITD XML 項目參考

  • 匯入全域工作流程定義。 全域工作流程內所定義的所有新欄位都會加入至集合。 當您要維護一組可供數個工作項目類型共用的工作項目欄位時,可以定義全域工作流程。 如需詳細資訊,請參閱自訂全域工作流程

  • 將專案集合對應至 Project Web App (PWA) 的執行個體。 安裝 Project Server 的 Team Foundation Server 擴充功能之後,請對應 Team Foundation 的各種元件來設定整合。 對應集合時,會匯入 Project Server 欄位中支援數個欄位的全域工作流程定義。 如需詳細資訊,請參閱加入至 TFS 以支援資料同步處理的 Project Server 欄位

所有 Team 專案的所有工作項目類型和所有全域工作流程內所定義的所有欄位,構成集合所定義的完整欄位集。 您可以變更現有欄位的屬性,也可以重新命名和刪除現有欄位。 不過在變更欄位時,需要付出一些代價。 如需詳細資訊,請參閱自訂工作追蹤物件以支援小組的流程

若要加入或自訂集合的欄位,請修改工作項目類型或全域工作流程定義的 XML 內容。 透過工作項目類型或全域工作流程定義的 FIELD 區段內的 FIELDS 項目定義每個欄位。 如需這些檔案之結構與位置的詳細資訊,請參閱所有 WITD XML 項目參考自訂全域工作流程

FIELD (定義) 語法結構

每個 FIELD (定義) 項目都有選擇性易記名稱和必要的參考名稱。 參考名稱在集合內必須是唯一的。 如需詳細資訊,請參閱工作項目追蹤物件的命名慣例

重要

您可以使用 witadmin changefield 命令列工具,變更欄位的易記名稱。不過,如果重新命名欄位,新名稱會影響集合內所有 Team 專案的所有工作項目類型。

依照工作項目類型定義檔的下列 XML 語法來定義欄位。

<FIELD name="fieldDisplayName"
   refname="fieldReferenceName" type="String | Integer | Double | DateTime | PlainText | HTML | History | TreePath | GUID"
   syncnamechanges="true | false"
   reportingname="reportingDisplayName"
   reportingrefname="reportingReferenceName"
   reportable="Dimension | Detail | Measure" 
   formula="sum" >
   <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
   <ALLOWEXISTINGVALUE />
   <CANNOTLOSEVALUE />
   <COPY />
   <DEFAULT />
   <EMPTY />
   <FROZEN />
   <HELPTEXT> . . . </HELPTEXT>
   <MATCH />
   <NOTSAMEAS />
   <PROHIBITEDVALUES /> . . . </PROHIBITEDVALUES>
   <READONLY />
   <REQUIRED />
   <SERVERDEFAULT />
   <SUGGESTEDVALUES /> . . . </SUGGESTEDVALUES>
   <VALIDUSER />
   <WHEN>> . . . </WHEN>
   <WHENNOT> . . . </WHENNOT>
   <WHENCHANGED> . . . </WHENCHANGED>
   <WHENNOTCHANGED> . . . </WHENNOTCHANGED>
</FIELD>

如需詳細資訊,請參閱FIELD (定義) 項目參考

資料類型

欄位型別會定義您可以在欄位中儲存的資料類型和大小。 Team 專案集合中的欄位只能定義一個類型。 這項限制可促使組織在各個專案與工作項目類型中使用共通的欄位。

下列清單顯示支援的欄位型別:

資料類型

描述

DateTime

根據國際標準時間 (UTC) 時間點來指定日期。

使用 DateTime 或 FieldControl DateTimeControl 屬性,將 type 欄位加入至工作項目表單。

Double

指定浮點值。 Double 欄位通常是用於查詢篩選條件和結果清單中。

使用 Double FieldControl 屬性,將 type 欄位加入至工作項目表單。

GUID

指定要用來包含唯一識別項的欄位。

您無法將 GUID 欄位加入至工作項目表單。

History

支援檢視討論區和追蹤其他歷程資訊。

注意事項注意事項

System.History 欄位是唯一使用此資料類型的欄位。您無法使用這個資料類型來定義自訂欄位。

使用支援 RTF 格式控制項的 System.History WorkItemLogControl 屬性,將 type 欄位加入至工作項目表單。

HTML

支援擷取 RTF 文字資料和使用較長的文字描述,例如工作項目描述。 HTML 欄位與 PlainText 欄位的不同之處在於 HTML 欄位為 HTML 的強型別 (Strongly Typed),因為 HTML 欄位能夠以較豐富的方式顯示資訊。

使用支援 RTF 格式控制項的 HTML HTMLControl 屬性,將 type 欄位加入至工作項目表單。

Integer

指定 32 位元帶正負號的整數值。 Integer 欄位通常是用於查詢篩選條件和結果清單中。

使用 Integer FieldControl 屬性,將 type 欄位加入至工作項目表單。

PlainText

支援輸入可以包含超過 255 個 Unicode 字元的文字字串。

使用僅支援純文字的 PlainText 型別屬性,或使用支援 RTF 格式控制項的 FieldControl HTMLControl 屬性,將 type 欄位加入至工作項目表單。

String

支援輸入可以包含最多 255 個 Unicode 字元的文字字串。 String 欄位適用於標籤,或其他最長只有一行的簡短文字字串。 String 欄位經常用於查詢篩選條件和結果清單中。

使用 String FieldControl 屬性,將 type 欄位加入至工作項目表單。

TreePath

指定一個以階層或樹狀結構顯示項目的欄位,例如需要顯示產品的區域和反覆項目路徑時。

注意事項注意事項

System.AreaPath 和 System.IterationPath 欄位是唯一使用這個資料類型的欄位。您無法使用這個資料類型來定義自訂欄位。

使用 System.AreaPath 屬性,將 System.IterationPath 和 WorkItemClassificationControl type 欄位加入至工作項目表單。

可報告屬性

某些欄位值特別適合用於報告。 透過使用工作項目類型定義語言,您可以指定下列選擇性屬性:

  • reportable. 依據欄位是否要包含在報表中,以及如何包含在報表中,將可報告屬性設為 None、Detail、Dimension 或 Measure。 欄位的這個屬性值如果不是 None,則此欄位的資料會匯出至資料倉儲,並且可以納入報表中。

    在您將現有欄位加入至工作項目類型時,會使用 reportable 屬性目前的值。 在您將欄位加入至工作項目類型時,除非您使用 reportable 屬性明確指定要啟用報告,否則會停用報告。

  • reportingname. 指派不同的標籤給報表中顯示資料時所使用的欄位。 如果您未指定值,則會使用指派給 name 屬性的易記名稱。

  • reportingrefname. 指派不同的參考名稱給資料匯出至關聯式資料倉儲時所使用的欄位。 如果您未指定值,則會使用指派給 refname 屬性的值。

    使用此屬性,合併或分出報表內含的欄位。 若要合併有不同的參考名稱和定義於不同的專案集合中的兩個欄位,您可以指派相同的 reportingrefname 給這兩個欄位。 若要分離有相同的參考名稱但定義於不同的專案集合中的兩個欄位,您可以指派不同的 reportingrefname 給每個欄位。

在定義欄位之後,您可以在命令提示字元中使用 witadmin changefield 命令,變更除了 refname 屬性以外之所有屬性的值。

如需基於報告目的標示欄位的最佳做法資訊,請參閱加入或修改工作項目欄位以支援報告

可報告屬性值

如下表所述,您可以將下列其中一個值指派給 reportable 屬性:none、dimension、detail 和 measure。

注意事項注意事項

在欄位用於工作項目之後,您就可以讓它成為可報告。在設定 reportable 值之後,複製到倉儲之工作項目的新修訂將會包含欄位值。不過,已經在倉儲中的修訂將不會使用現有的值進行資料回填。

屬性值

描述

Detail

Detail 型別只適用於 Integer、Double、String 或 DateTime 欄位。

這個欄位中的資料會移入工作項目和目前工作項目資料表中的關聯式倉儲資料庫,但不會移入 SQL Server Analysis Services Cube。 對無限制的文字欄位使用這個型別,您就能在報表中使用這些欄位,而且 Cube 不會變得過大。

Dimension

Dimension 類型只能用於 Integer、String 或 DateTime 欄位。

這個欄位中的資料會進入關聯式倉儲資料庫以及 Analysis Services Cube 成為工作項目維度的屬性,以便讓資料可用來篩選報表。 請對具有有效值清單的欄位使用這個類型。 Work Item Type 和 State 是 dimension 的良好範例。

Measure

Measure 型別只適用於 Integer 和 Double 欄位。 Measure 是報表中的數值。

在 Analysis Services Cube 處理期間,設為 Measure 的欄位上會預先計算資料。 例如,工作項目和目前的工作項目量值群組包含下列欄位的累積資料:[原始評估]、[剩餘時數] 和 [已完成的時數]。 如需量值群組的詳細資訊,請參閱Visual Studio 之 Analysis Services Cube 中提供的透視圖和測量群組

在您指定 Measure 時,您必須在 sum 屬性中指定 formula,此值會傳回查詢中所參考之每個 measure 的總和。

None

當您不要將欄位包含在報表時,指定 None。 這個值是預設指派。

示範如何指定報告的範例

Detail 範例

<FIELD refname="MyCorp.Summary" name="Summary" type="String" reportable="detail">

Dimension 範例

<FIELD refname="MyCorp.Category" name="Category" type="String" reportable="dimension">

Measure 範例

<FIELD refname="MyCorp.Cost" name="Cost" type="Integer" reportable="measure" formula="sum">

索引欄位

您可以使用 witadmin indexfield 命令,啟用或停用工作項目欄位的索引。 啟用欄位的索引時,如果工作項目的查詢指定了該欄位,則尋找這些工作項目的效能可能會提高。 如果您加入會在許多工作項目查詢中使用的自訂欄位,則可以考慮啟用該欄位的索引。 如需詳細資訊,請參閱管理工作項目欄位 [witadmin]

FIELD (定義) 子項目

您可以為工作項目 (Item) 欄位指定一些選擇性子項目 (Element),例如:

  • 說明文字: 定義會針對工作項目表單上的欄位顯示的工具提示或說明資訊 (HELPTEXT)。

  • 欄位限制: 將欄位指定為必要項、唯讀、空白、凍結或需符合特定模式 (REQUIREDREADONLYEMPTYFROZENMATCH)。

  • 自動填入欄位值: 指定欄位的值 (DEFAULTCOPYSERVERDEFAULT)。

  • 欄位清單: 指定允許值、建議值或禁用值。 (ALLOWEDVALUES, SUGGESTEDVALUES, PROHIBITEDVALUES)

  • 欄位條件: 在另一個欄位已變更或未變更、另一個欄位具有或不具有特定值,或其他情況時,將一個或多個規則套用至欄位 (WHENWHENNOTWHENCHANGEDWHENNOTCHANGEDCANNOTLOSEVALUENOTSAMEAS)。

如需詳細資訊,請參閱所有 FIELD XML 項目參考

系統欄位和預先定義的欄位

系統定義的所有欄位都具有開頭為 System 的參考名稱,例如 System.AreaPath、System.AssignedTo,依此模式類推。

TFS 提供之預設流程範本所定義的預先定義欄位,會以 Microsoft.VSTS 為開頭,然後再依其用途進一步變化。 預先定義欄位的範例包括 (分別為共用用途、排程用途及 Microsoft Project 整合、Team Foundation Build 整合和 Team Foundation 整合):

  • Microsoft.VSTS.Common.Priority

  • Microsoft.VSTS.Scheduling.DueDate

  • Microsoft.VSTS.Build.FoundIn

  • Microsoft.VSTS.TCM.Steps

如需針對 TFS 提供之預設流程範本所定義之所有系統欄位和預先定義欄位的概觀,請參閱Visual Studio ALM 的工作項目欄位參考。 如需指定欄位名稱的詳細資訊,請參閱工作項目追蹤物件的命名慣例

隱藏的和不可變屬性以及工作項目欄位總管

除了可以變更工作項目欄位的屬性之外,每個欄位還有一些不可變更和實際隱藏的屬性。 您可以使用 [工作項目欄位總管] 工具,查詢這些欄位的指派。 從流程編輯器的強大工具存取工作項目欄位總管工具。

工作項目欄位總管

工作項目欄位總管

注意事項注意事項

流程編輯器的強大工具提供用於自訂 Team Foundation Server 流程範本的圖形化使用者介面。您可以利用這項工具匯入及匯出工作項目類型、修改流程範本內容,以及查看為 Team 專案集合定義的欄位集。如需詳細資訊,請參閱 Microsoft 網站的下列網頁:Team Foundation Server Power Tools (英文)。

請參閱

參考

管理工作項目欄位 [witadmin]

概念

加入或修改工作項目欄位以支援報告

所有 FIELD XML 項目參考

其他資源

修改或加入欄位以支援查詢、報表和工作流程