管理工作項目欄位 [witadmin]
您可以使用下列 witadmin 命令,管理針對 Team 專案集合所定義的工作項目類型欄位。
changefield:變更欄位的一個或多個屬性。 當您變更下列其中一個屬性時,請針對 Team 專案集合中的所有工作項目類型和 Team 專案變更這個屬性:
PlainText 或 HTML 欄位的資料型別。
重要
當您從舊版升級 Team Foundation Server 至目前的版本時, [描述] (System.Description) 欄位會自動從 PlainText 轉換為 HTML。使用 changefield 命令,您可以還原這個欄位的內容顯示純文字。
在工作項目查詢中顯示的易記名稱。 這個名稱可能在工作項目表單上顯示的名稱不同。
報告屬性,這包括其顯示在報表中的欄位名稱、參考報表名稱和報告類型。
同步處理與 Active Directory:您可以啟用/停用人員名稱欄位的同步處理。
deletefield:刪除指定的欄位。
indexfield:將指定欄位的進行索引功能開啟或關閉。 啟用欄位的索引時,如果工作項目的查詢指定了該欄位,則尋找這些工作項目的效能可能會提高。 如果您加入會在許多工作項目查詢中使用的自訂欄位,則可以考慮啟用該欄位的索引。
listfields:列出所有欄位或指定欄位的屬性。
若要執行 witadmin 命令列工具,請在安裝 Visual Studio 或 Team Explorer 的系統中開啟命令提示字元視窗,並輸入:
cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
在 Windows 64 位元版本中,將 %programfiles% 取代為 %programfiles(x86)%。
如需定義於 Team Foundation Server 所附預設流程範本內之欄位的概觀,請參閱 Visual Studio ALM 的工作項目欄位參考。
注意事項 |
---|
您可以使用 Visual Studio 的強大工具 [處理序編輯器],建立和修改工作項目欄位。不支援此工具。如需詳細資訊,請參閱下列 Microsoft 網站的網頁:Team Foundation Server Power Tools (英文)。 |
需求
若要列出欄位,您必須將 Team 專案集合中的 [檢視專案層級資訊] 使用權限為 [允許]。
若要刪除或重新命名欄位,或變更欄位的屬性,您必須是 [Team Foundation Administrators] 安全性群組或 [Project Collection Administrators] 安全性群組的成員。
如需詳細資訊,請參閱Team Foundation Server 使用權限與Team Foundation Server 預設群組、使用權限和角色。
注意事項 |
---|
即使您使用系統管理權限登入,還是必須開啟較高權限的命令提示字元視窗,在執行 Windows Server 2008 的伺服器上執行此功能。若要開啟較高權限的 [命令提示字元] 視窗,請選取 [開始],開啟 [命令提示字元] 捷徑功能表,然後選取 [以系統管理員身分執行。]。如需詳細資訊,請參閱 Microsoft 網站:使用者帳戶控制。 |
witadmin changefield /collection:CollectionURL /n:RefName
[/name:NewName]
[/syncnamechanges:true | false]
[/reportingname:ReportingName]
[/reportingrefname:ReportingRefName]
[/reportingtype:Type]
[/reportingformula:Formula]
[/type:PlainText | HTML]
[/noprompt]
witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]
witadmin indexfield /collection:CollectionURL /n:Name /index:on|off
witadmin listfields /collection:CollectionURL /n:RefName [/unused]
參數
參數 |
描述 |
---|---|
/collection:CollectionURL |
指定 Team 專案集合的 URI。 URI 的格式如下: http://ServerName:Port/VirtualDirectoryName/CollectionName 如果不使用任何虛擬目錄,則 URI 格式如下: http://ServerName:Port/CollectionName |
/n:RefName /n:Name |
工作項目類型欄位的參考名稱。 |
/index |
指定啟用或停用指定欄位的索引功能。 指定 on 可啟用索引,off 可停用索引。 |
/name:NewName |
指定欄位的新名稱。 |
/syncnamechanges |
指定要使用工作項目欄位來儲存名稱,並隨著對 Active Directory 或工作群組所做的變更進行更新。 此選項只有在為 typename 指定資料型別為字串的欄位時才有效。 指定 true 可啟用資料欄位的同步處理,指定 false 可停用資料欄位的同步處理。 |
/reportingname:ReportingName |
指定資料倉儲中要用來進行報告的欄位名稱。 |
/reportingrefname:ReportingRefName |
指定資料倉儲中要用來進行報告的欄位參考名稱。 |
/reportingtype:Type |
指定在倉儲中如何使用欄位進行報告。 下列是有效值:
如需詳細資訊,請參閱使用工作項目欄位。 |
/reportingformula:Formula |
指定當欄位報告為 measure 時會使用彙總公式。 唯一支援的公式是 sum。 |
/type:HTML | PlainText |
指定要從 PlainText 的欄位內容轉換成 HTML 或從 HTML 的欄位內容轉換成 PlainText。 您可以指定這個選項針對欄位的類型指派是 PlainText 或 HTML。 請參閱 FIELD (定義) 項目。 |
/unused |
列出 Team 專案集合中定義的任何 Team 專案不使用的所有欄位。 |
/noprompt |
停用確認提示。 |
/? or help |
顯示 [命令提示字元] 視窗中命令的說明。 |
備註
索引欄位
查詢索引是根據那些啟用索引的欄位所建立。 當執行包含索引欄位的查詢時,這個索引會改善回應時間。
根據預設,下列欄位會有索引:[指派給]、[建立日期]、[變更者]、[狀態]、[原因]、[區域]、[反覆項目] 和 [工作項目類型]。 如果您的小組還有其他經常在查詢中使用的欄位,您可以將這些欄位加入至查詢索引。
同步處理人員名稱與 Active Directory
您必須手動啟用用來指派參考 Active Directory 的人員名稱之任何自訂工作項目欄位的同步處理。 您必須針對包含自訂欄位之每個 Team 專案集合的每個欄位,啟用同步處理。
所有顯示人員名稱的系統參考欄位都有設為 true 的屬性 syncnamechanges。這類欄位包括 System.AuthorizedAs、System.AssignedTo、System.ChangedBy 和 System.CreatedBy。同步處理已針對定義於其中一個預設流程範本中的每個人員名稱欄位啟用。 如需詳細資訊,請參閱指派和工作流程欄位參考。
啟用同步處理後,該欄位不再會顯示靜態字串。 而該欄位會改為顯示與使用者帳戶關聯的名稱。 當您在 Active Directory 或工作群組中變更使用者名稱時,其 syncnamechanges 設為 true 的欄位會自動顯示新名稱。
當您將 syncnamechanges 屬性指派給 [字串] 欄位時,此欄位一律接受有效的使用者名稱。 但是,如果下列條件有任何一個為 true,則欄位不允許群組名稱儲存在 Team Foundation Server 或 Active Directory 中:
VALIDUSER 規則會在所有工作項目類型中指定
會為工作項目類型指定 VALIDUSER 規則
ALLOWEDVALUES 規則已指定給工作項目類型,而且該規則的篩選準則已排除群組
如需詳細資訊,請參閱所有 FIELD XML 項目參考。
您可以為每個工作項目類型變更的屬性
您可以藉由變更欄位出現的工作項目類型定義,變更您為欄位定義的下列屬性或值:
顯示在工作項目表單上的名稱。 請參閱 Control XML 項目參考。
說明文字: 請參閱 定義工作項目欄位的說明文字。
允許的值或挑選清單或下拉式功能表中的項目。 請參閱 定義使用者清單、挑選清單和全域清單。
範例
除非另行指定,下列的值會套用在每個範例:
Team 專案集合的 URI:http://AdventureWorksServer:8080/tfs/DefaultCollection
工作項目欄位名稱:AdventureWorks.Field
預設的編碼方式:UTF-8
清單欄位
使用 witadmin listfields,以查看使用中欄位集合,或選擇要加入至工作項目類型的欄位。 另外,您也可以列出針對特定欄位所定義的屬性指派,以及判斷哪些 Team 專案已使用哪些欄位。
檢視工作項目欄位的屬性
輸入下列命令列出指定之欄位所定義的屬性,例如 Microsoft.VSTS.Common.Issue。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue
所指名欄位的欄位和屬性資訊隨即出現,如範例所示。
Field: Microsoft.VSTS.Common.Issue Name: Issue Type: String Reportable As: dimension Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps) Indexed: False
[Use] 參數表示每個專案的名稱,以及其中使用這個欄位的工作項目類型。 如需欄位屬性的詳細資訊,請參閱Visual Studio ALM 的工作項目欄位參考。
列出 Team 專案集合中的所有欄位
輸入下列命令列出 Team 專案集合定義的所有欄位。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection
所指名專案集合之所有欄位的欄位資訊隨即出現。 請參閱 Visual Studio ALM 的工作項目欄位參考。
列出未在使用中的欄位
輸入下列命令列出 Team 專案集合中已經沒有任何工作項目類型在使用的欄位。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused
隨即顯示每個未在使用中之欄位的欄位和屬性資訊,如下列範例所示。
Field: Microsoft.VSTS.CMMI.TaskType Name: Task Type Type: String Reportable As: dimension Use: Not In Use Indexed: False Field: Microsoft.VSTSUE.Common.Flag Name: Flag Type: String Reportable As: dimension Use: Not In Use Indexed: False Field: Microsoft.VSTSUE.Common.Progress Name: Progress Type: String Reportable As: dimension Use: Not In Use Indexed: False
重新命名欄位
您可以變更工作項目欄位的易記名稱,以符合您的小組所使用的命名慣例。 請注意,新名稱會套用至所有參考專案集合中所有 Team 專案之已變更欄位的工作項目類型。 當您在工作項目查詢中定義篩選準則時,會顯示易記名稱。 顯示在工作項目表單上的名稱可能與針對欄位所定義的易記名稱不同。
若要重新命名工作項目欄位
輸入下列命令,將指派給 Microsoft.VSTS.Common.Rank 的易記名稱重新命名為 Important Rank。
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
在確認提示中,輸入 y,並按下 ENTER 鍵, 然後等候下列訊息出現:
Field renamed.
若要驗證匯入單一專案的變更
在 Team Explorer 中,選擇 [ 重新整理]。
會從伺服器下載最新的更新 (包括您剛剛對欄位名稱所做的變更)。 等候數秒讓重新整理完成。
選擇 [新的查詢] 以建立查詢。
在 [查詢編輯器] 中,選擇 [按一下這裡加入子句] 連結加入資料列,然後選取空白 [欄位] 儲存格,並在儲存格中輸入 Rank。 下列訊息會在結果清單的上方出現。 這個訊息表示找不到 Rank。
**執行查詢以檢視查詢結果。**TF51005: 查詢參考不存在的欄位。 這個錯誤是因為 <<Rank>> 所造成。
從 [欄位] 儲存格刪除 Rank 值,然後將 Important Rank 輸入到儲存格中。
選取 [運算子] 儲存格中的 [<>],然後將 1 輸入到 [值] 儲存格中。
在 [查詢] 工具列上,選擇 [ 執行]。
開啟結果中任何資料列的捷徑功能表,並選取 [資料行選項]。 然後向下捲動 [可用的欄] 清單。 請注意,[Rank] 欄位將不再出現,但是可以看到 [Important Rank] 欄位。
選取 [可用的欄] 方塊中的 [Important Rank],然後選擇 [>] 按鈕 (加入選取的欄)。 選擇 [確定]。
請注意,在整個查詢產生器和結果清單中,Microsoft.VSTS.Common.Rank 的易記名稱已經從 Rank 重新命名為 Important Rank。
關閉查詢。 當您收到儲存此查詢的提示時,請選擇 [否]。
建立新的工作項目。 選擇 [新增工作項目] 連結,然後選擇 [工作]。
此工作項目是根據您所變更並匯入的工作項目類型建立。
請注意在 [狀態] 方塊中,重新命名的欄位 [Rank] 之標籤並未變更, 這是因為工作項目表單上的欄位標籤是以 Team 父專案為範圍,而且與剛剛指定的整個伺服器範圍的欄位名稱無關。
注意事項 如需如何變更工作項目表單上欄位標籤的詳細資訊,請參閱 變更欄位的標籤。
當系統提示您儲存工作項目時,關閉新的工作並選擇 [否]。
將報表變更為欄位值
下列命令會將 DateTime 欄位 AdventureWorks.CreatedOn 的報告功能類型指定為 dimension。 此欄位的資料會進入倉儲和 Analysis Services 資料庫,以便能夠用來篩選報告。
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension
下列命令會將 Double 欄位 AdventureWorks.Field 的報告功能類型指定為 measure。 所有 measure 值會使用 sum 來彙總 (Aggregate)。
witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure
啟用自訂人員名稱欄位的同步處理
下列命令可同步處理為 AdventureWorksServer 上的 Collection1 所定義的工作項目欄位 AW.CustomerName。
驗證要轉換之欄位的資料型別
輸入下列命令,驗證指派給您要同步處理之欄位 (例如 MyCompany.CustomerName) 的資料型別:
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName
啟用同步處理
若要啟用單一人員名稱欄位的同步處理,請輸入下列命令,以您的資料取代此處顯示的引數:
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true
下列確認提示隨即出現:
This will change properties for field {0} on the Team Foundation Server. Do you want to continue?
輸入 0 確認您要變更欄位,或 1 取消要求。
如果變更要求成功進行,則會出現下列確認訊息:
The field was updated.
如果變更要求失敗,則會出現錯誤訊息。 最常犯的錯誤是嘗試變更系統參考欄位,或者是嘗試變更資料型別不是 String 的欄位。 目前不支援這些作業。
刪除欄位
在您刪除欄位之前,請確認欄位未在使用中。 如果欄位在使用中,您必須在這個欄位從 Team 專案集合中刪除之前 ,先從使用該欄位的工作項目類型移除欄位。 下列命令會將欄位 AdventureWorks.Field 從 Collection1 刪除:
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field
確認欄位未在使用中
輸入下列命令,並指定工作項目欄位的參考名稱,例如 MyCompany.MyProcess.MyField。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField
在顯示的欄位資訊中,確認 Use 的值是 "Not In Use",如下列範例所示。
Field: MyCompany.MyProcess.MyField Name: MyField Type: String Reportable As: dimension Use: Not In Use Indexed: False
如果 Use 欄位表示欄位在使用中,則您必須從所列出之每個 Team 專案的每種工作項目類型中刪除該欄位。 例如,Microsoft.VSTS.TCM.SystemInfo 欄位表示有四個專案 (Arroyo、Desert、Palm 和 Springs) 的 Bug 和 Code Defect 工作項目類型正在使用它。
Field: Microsoft.VSTS.TCM.SystemInfo Name: System Info Type: Html Reportable As: None Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect) Indexed: False
在刪除這個欄位之前,您必須先從每個已定義這個欄位的專案中的每個所列出工作項目類型,移除這個欄位。 若要移除欄位,您可以刪除包含欄位參考名稱的 FIELD 和 Control 項目,修改工作項目類型的定義。 請參閱 自訂和管理工作項目類型 [witadmin]、FIELD (定義) 項目 和 Control XML 項目參考。
從 Team 專案集合中刪除欄位
輸入下列命令以刪除 MyCompany.MyProcess.MyField 欄位,然後選擇 Enter。
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName
請在確認提示中輸入 y,即可完成這個步驟。