修改或加入自訂工作項目類型 (WIT)
身為專案系統管理員,您可能需要修改現有的工作項目類型 (WIT),以支援其他追蹤需求或工作流程。 最常見修改 WIT 的原因是加入或修改一組欄位或欄位規則、變更工作流程,或自訂工作項目表單。 這三個原因對應 WIT XML 定義檔的三個主要區段:FIELDS、WORKFLOW 和 FORM。
這些修改要求您編輯 WIT 定義,因此您只能針對 TFS 內部部署進行修改。 本主題提供自訂內容的概觀,以及說明如何自訂的相關指示。
加入或修改欄位、欄位規則、標籤或空白文字
您可以將欄位和欄位規則加入 FIELDS 區段。 若要讓欄位出現在工作項目表單上,您還必須將它加入至 WIT 定義的 FORM 區段。
例如,若要將工作項目 ID 加入至表單,請在 FORM 區段中指定下列 XML 語法。
<Control FieldName="System.ID" Type="FieldControl" Label="ID" LabelPosition="Left" />
若要進一步了解定義欄位,請參閱加入或修改欄位以支援查詢、報表和工作流程。
變更工作流程狀態、原因、轉換或加入工作流程欄位規則
WORKFLOW 中的 STATES 和 REASONS 區段,會指定 [狀態] 和 [原因] 欄位中的挑選清單值。 這些區段會追蹤工作項目的狀態。 TRANSITIONS 區段會指定狀態之間的有效轉換,如下圖所示。 您可以指定向前和迴歸轉換。
範例工作流程狀態圖表
您可以變更工作流程來達成下列目的:
加入或移除狀態、原因或轉換。
指定欄位的值,以便在狀態、原因或轉換變更時套用。
指定自訂 ACTION,以根據狀態、原因或轉換的變更將欄位指派作業自動化。
當您自訂工作流程時,請遵循下列兩個步驟:
-
在下列情況下,必須進行這個第二個步驟:
當您變更出現在 Agile 規劃工具頁面上之 WIT 的工作流程時。 這些 WIT 屬於需求或工作分類。 若要進一步了解這些工具的設定,請參閱設定及自訂 Team 專案的 Agile 計劃工具。
當您變更測試計劃或測試套件的工作流程以及從 Visual Studio 2013.2 (含) 更早版本所提供的 [測試管理員] 用戶端工作時。 在您將應用程式層伺服器更新為 TFS 2013.3 時,這些 WIT 會變成可用。 顯示於 Agile 規劃工具頁面上。
如果您在變更工作流程之後於連接至 Team 專案時發生 [應用程式偵測到未預期的錯誤] 錯誤,則解決方式是將新的工作流程狀態對應至轉移狀態。 若要解決此錯誤,請參閱匯入和匯出流程組態 [witadmin]。
工作流程欄位規則
您可以在變更狀態、指定原因或進行工作流程轉換時套用欄位規則。
例如,只要在狀態設定為 [作用中] 時加入 EMPTY 規則,就可以自動將 [關閉日期] 和 [關閉者] 欄位設定為 null,並使它們成為唯讀。 從已關閉狀態中重新啟用工作項目時,這會非常有用。
<STATE value="Active">
<FIELDS>
. . .
<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
</FIELDS>
</STATE>
套用工作流程欄位規則來完成下列動作:
指定 CANNOTLOSEVALUE、EMPTY、FROZEN、NOTSAMEAS、READONLY 和 REQUIRED,以限定欄位所能具有的值。
使用 COPY、DEFAULT 和 SERVERDEFAULT,將值複製到欄位中。
限制可修改欄位的人員。
使用 MATCH 強制字串欄位使用的模式比對。
使用 WHEN、WHENNOT、WHENCHANGED 和 WHENNOTCHANGED,根據其他欄位的值有條件地套用規則。
限制要套用至特定使用者或群組的規則。 大部分規則都支援 for 或 not 屬性,將重點放在套用和不套用規則的使用者。
如需套用工作流程欄位規則的詳細資訊,請參閱 FIELD (工作流程) 項目。
自訂工作項目表單
下圖反白顯示工作項目表單中最常使用的項目。 您可以自訂除了標題區域和表單控制項以外的所有其他項目。
您可以自訂 WIT 表單來達成下列目的:
加入或移除欄位、變更欄位標籤,或變更表單上欄位的位置。 如需詳細資訊,請參閱指定工作項目表單控制項。
加入新的索引標籤或資料行,或將欄位的群組從某個索引標籤移到另一個索引標籤。 請參閱 設計工作項目表單。
加入資訊文字以支援填寫表單、詳細流程指引超連結或內嵌 HTML 文字,或是在表單中顯示動態報表。 請參閱 在工作項目表單上提供說明文字、超連結或 Web 內容。
指定限制可連結至工作項目之連結類型或 WIT 的索引標籤。 請參閱 定義連結控制項以限制連結關聯性。
加入附件控制項以支援附件檔案。 請參閱 加入 Attachments 控制項。
編輯 WIT 定義
若要編輯 WIT 定義,您可以匯出、修改,然後再匯入 WIT 定義檔。
您可以使用 witadmin 來匯入和匯出定義檔。 其他可以用來修改物件之 XML 語法的工具包括流程編輯器 (可隨 TFS Power Tools (英文) 的下載一併取得) 或 TFS Team Project Manager (英文) (CodePlex 提供的社群資源專案)。
如果您沒有 Team 專案的系統管理權限,請取得這些權限。
開啟安裝 Visual Studio 或 Team Explorer 的命令提示字元視窗,並輸入:
cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
在 Windows 64 位元版本中,將 %programfiles% 取代為 %programfiles(x86)%。 請移至這裡下載 Team Explorer,它是免費的。
匯出您要修改或加入欄位的 WIT 定義檔案。 指定 WIT 的名稱和檔案的名稱。
witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:TypeName /f:"DirectoryPath/FileName.xml"
CollectionURL 的範例為 http://MyServer:8080/tfs/TeamProjectCollectionName。
編輯檔案。 如需詳細資訊,請參閱 工作項目追蹤:XML 項目定義的索引。
匯入 WIT 定義檔案。
witadmin importwitd /collection:CollectionURL /p:ProjectName /f:"DirectoryPath/FileName.xml"
開啟 TWA 或 Team Explorer 以檢視變更。 如果用戶端已經開啟,則重新整理頁面。
在 Team Explorer 中,選擇 重新整理按鈕。
會從伺服器下載最新的更新 (包括您剛剛匯入的變更)。 等候數秒,直到重新整理完成。
如需有關使用 witadmin 的詳細資訊,請參閱匯入、匯出和管理工作項目類型 [witadmin]。
問與答
問:如何使用標記?
**答:**若要了解如何加入標記和篩選清單,請至這裡。
問:在 TFS 升級之後,我如何進行自訂且仍使用設定功能精靈更新我的 Team 專案?
**答:**您可以加入自訂 WIT 並變更表單配置。 設定功能精靈會更新您的 Team 專案,且您可以存取最新的功能。
如果變更工作流程或重新命名 WIT,則在更新 Team 專案時可能需要您執行一些手動作業。 若要了解您可以放心進行的其他自訂,以及您應該避免的自訂,請參閱自訂工作追蹤經驗:請先了解維護和升級的含意再進行自訂。
問:如何加入新的 WIT?
**答:**加入新 WIT 的最簡單方法是複製現有的 WIT,然後修改定義檔。 如需範例,請參閱 建立工作項目類型。
問:我可以重新命名 WIT 嗎?
**答:**可以。 若要重新命名現有的 WIT,請使用 witadmin renamewitd。 例如,您可以將標記為「QoS 項目」的 WIT 重新命名為「服務合約」。
witadmin renamewitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"QoS Item" /new:"Service Agreement"
當您重新命名屬於某個分類的 WIT 時,必須更新 Team 專案的分類定義以反映新的名稱。 特別是,若您未更新分類定義,則Agile 規劃工具將無法運作。
如需詳細資訊,請參閱匯入、匯出和管理工作項目類型 [witadmin]與匯入和匯出分類 [witadmin]。
問:如何停用或關閉 WIT?如何限制使用者避免建立特定類型的工作項目?
**答:**如果您有要淘汰的 WIT,但是仍需維護根據該類型建立的工作項目,您可以加入讓所有有效使用者無法儲存工作項目類型的規則。
<TRANSITION from=" " to="New">
<FIELDS>
<FIELD refname="System.CreatedBy">
<VALIDUSER not="[Team Project Name]Project Valid Users" />
</FIELD>
</FIELDS>
</TRANSITION>
如果您要限制特定 WIT 只能由某個使用者群組建立,有兩種限制存取的方式:
將 WIT 加入至隱藏分類群組可以防止大多數參與者建立它們。 如果您想要允許使用者群組存取,您可以建立範本的超連結開啟工作項目表單,並與那些您希望來建立工作項目的小組成員共用該連結。
將欄位規則加入至 System.CreatedBy 欄位的工作流程,可以有效地限制使用者群組以避免建立特定類型的工作項目。 如下列範例所示,建立工作項目的使用者必須屬於 Allowed Group 才能儲存工作項目。
<TRANSITION from=" " to="New"> <FIELDS> <FIELD refname="System.CreatedBy"> <VALIDUSER for="Allowed Group" not="Disallowed Group" /> </FIELD> </FIELDS> </TRANSITION>
問:如何刪除 WIT?
**答:**若要防止小組成員使用特定 WIT 建立工作項目,您可以從 Team 專案將其移除。 當您使用 witadmin destroywitd 時,會永久移除使用該 WIT 及 WIT 本身建立的所有工作項目。 例如,如果您的小組不會使用「阻礙」,則可以從 Fabrikam 網站專案刪除標示為「阻礙」的 WIT。
witadmin destroywitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"Impediment"
當您刪除屬於某個分類的 WIT 時,必須更新 Team 專案的分類定義以反映新的名稱。 特別是,若您未更新分類定義,則Agile 規劃工具將無法運作。
如需詳細資訊,請參閱匯入、匯出和管理工作項目類型 [witadmin]與匯入和匯出分類 [witadmin]。
問:我可以變更與 WIT 相關聯的色彩嗎?
**答:**可以。 在 Team Web Access 中,工作項目會出現於查詢結果,以及出現在敏捷式計劃工具的待處理項目 (Backlog) 和面板頁面上。 若要變更與現有 WIT 相關聯的色彩,或加入要用於新 WIT 的色彩,請編輯流程組態。
問:我可以加入 WIT 或將它從待處理項目 (Backlog) 或工作面板移除嗎?
**答:**可以。 Agile 計劃工具 (產品待處理項目 (Backlog)、衝刺待處理項目 (Sprint Backlog) 和工作面板頁面) 會根據用來建立 Team 專案的流程範本顯示特定 WIT。 您可以加入或移除要出現在這些頁面上的 WIT。 例如,如果您的 Team 專案使用 Scrum WIT,則產品待處理項目 (Backlog) 和 Bug 都會在待處理項目 (Backlog) 頁面上出現。 不過,如果 Team 專案是使用 Agile、CMMI 或其他流程範本所建立,則 Bug 不會出現在待處理項目 (Backlog) 或工作面板中。
例如,您可以從產品待處理項目 (Backlog) 頁面加入 Bug。
若要了解如何在待處理項目 (Backlog) 或工作面板中加入或移除 WIT,請移至這裡。 若要加入新的 WIT 以支援 Portfolio 待處理項目,請至這裡。
問:修改 WIT 後,對現有的工作項目有什麼影響?
**答:**下表摘要說明當您修改欄位或 WIT 定義時,對現有工作項目的影響。
動作 |
對現有工作項目的影響 |
---|---|
從 WIT 移除欄位 |
遭到移除之欄位的資料會保留在資料存放區中。 然而,由於您已將其從 WIT 定義中移除,因此不會再加入新資料。 |
重新命名欄位 |
重新命名的欄位資料會保留在資料存放區的新易記名稱下。 |
刪除欄位 |
遭到刪除的資欄位料會從資料存放區中移除。 |
重新命名 WIT |
所有資料在新名稱下保持不變。 |
刪除 WIT |
建立為已刪除 WIT 的所有工作項目資料都會永久移除,無法復原。 |
若要從資料存放區完全移除這些欄位,請使用 witadmin deletefield 命令列工具。 請參閱 管理工作項目欄位 [witadmin]。
問:如何變更現有工作項目的類型?
答: 您無法變更現有工作項目的類型,但是可以複製工作項目並指定新的類型。 例如,您可以複製現有的產品待處理項目 (Backlog) 並將類型變更為 Bug,如下圖所示。
此外,如果您有數個要變更類型的工作項目,最好是使用 Excel 匯出這些工作項目,然後重新加入它們做為新類型。
問:我可以從 TFS 刪除工作項目嗎?
**答:**可以。 使用 witadmin destroywi 永久地移除資料庫中的工作項目。
問:我應該了解 WIT 自訂和 TFS 升級的哪些相關資訊?
**答:**請參閱 更新已升級的 Team 專案以使用新功能。
問:如果我有其他問題,可以在哪裡尋求解答?
**答:**若要尋找解答或張貼問題,請瀏覽論壇:Team Foundation Server - 專案管理和工作項目。
如需詳細資訊,請參閱指定工作項目表單控制項。
使用流程編輯器 (可隨 TFS Power Tools 的下載一併取得) 以修改工作流程,或是檢視工作流程的狀態圖。