共用方式為


逐步解說:對工作項目類型進行基本自訂

更新:2007 年 11 月

在本逐步解說中,您將會使用最常見的一些方法來自訂現有的工作項目類型;也將會學習有關自訂工作項目類型所用的工具以及定義這些類型的 XML 語言。

下列程序將說明這些自訂工作:

  • 建立 Team 專案:在此程序中,您將會建立包含工作項目類型的 Team 專案,而在後續的程序中將使用此 Team 專案。

  • 檢視工作項目類型:在此程序中,您將會顯示現有工作項目類型的表單。

  • 匯出工作項目類型:在此程序中,您會將工作項目類型的定義匯出到 XML 檔。

  • 重新命名類型:在此程序中,您將會變更包含工作項目類型定義的 XML 檔,將工作項目類型的名稱從 Task 變成 Special Task。

  • 匯入變更:在此程序中,您會將上一個步驟所變更的工作項目類型匯入至 Team Foundation Server。

  • 加入欄位:在此程序中,您會將名稱為 Category 的新欄位加入到現有的工作項目類型。

  • 將規則加入到欄位:在此程序中,您會加入規則,讓新的 [Category] 欄位變成必要欄位。

  • 建立選擇清單:在此程序中,您將會加入 [Category] 欄位允許值的清單;新的值會以工作項目中的選項形式出現 (此工作項目是從工作項目類型所建立)。

  • 變更工作流程:在此程序中,您會將新的狀態和轉換加入到工作項目類型。

  • 變更表單配置:在此程序中,您將會變更工作項目表單上的欄位位置。

必要條件

若要完成這些逐步解說中的步驟,您將需要下列項目:

Visual Studio Team System,或是已安裝 Team 總管而且可以連接到 Team Foundation Server 的 Visual Studio。如需詳細資訊,請參閱 HOW TO:連接到 Team Foundation Server

如果您可以建立與 Team Foundation Server 之間的連接,且具有適當的權限,就可以在命令提示字元、批次檔或指令碼檔中對工作項目類型執行基本自訂。若要這麼做,您必須使用 [Visual Studio 2008 命令提示字元] 公用程式,或是透過 vsvars32 在目前的命令提示字元中設定幾個環境變數,如下列範例所示。如需聯結 Team 專案的詳細資訊,請參閱逐步解說:聯結 Team 專案

若要在命令提示字元中啟用 Team Foundation 命令

  • 依序按一下 [開始]、[所有程式],並依序指向 [Microsoft Visual Studio 2008]、[Visual Studio Tools],然後按一下 [Visual Studio 2008 命令提示字元]。

另外,您也可以在 Visual Studio 安裝路徑 (通常是 DriveLetter:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools) 中執行 vsvars32

必要權限

您必須是 [Team Foundation Administrators] 群組的成員或專案之 [Project Administrators] 群組的成員,才能執行此程序。如需詳細資訊,請參閱 Team Foundation Server 使用權限

建立 Team 專案

若要建立 Team 專案

  1. 啟動 Visual Studio。

  2. 按一下 [檢視],然後按一下 [Team 總管],開啟 Team 總管。

  3. 在 Team 總管中,以滑鼠右鍵按一下您所連接的 Team Foundation Server 名稱,然後按一下 [新增 Team 專案]。

  4. 在 [在 <Team Foundation Server 名稱> 上新增 Team 專案] 對話方塊的 [Team 專案的名稱為何?] 之下,輸入 WITLab,然後再按 [下一步]。

  5. 在 [選取流程範本] 頁面的 [應該使用哪個流程範本建立 Team 專案?] 之下,按一下 [MSF for Agile Software Development - <版本號碼>],然後再按 [完成]。

    建立 Team 專案可能要花幾分鐘的時間。

  6. 當顯示 [已建立 Team 專案] 頁面時,請清除 [啟動流程指引] 方塊,然後按一下 [關閉]。

    名為 "WITLab" 的新 Team 專案隨即建立,並且會在 Team 總管之 Team Foundation Server 下的節點中顯示。

檢視工作項目類型

必要條件:您已完成建立 Team 專案程序。可以使用 "WITLab" Team 專案。

若要檢視工作項目類型

  1. 啟動 Visual Studio 並開啟 Team 總管。

  2. 在 Team 總管中展開 WITLab Team 專案,並等候幾秒鐘以載入該專案的資料夾。

  3. 在此 Team 專案中,以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [工作]。

    即會顯示表示新的「工作」(Task) 工作項目的表單,它的某些欄位會包含預設值。在本逐步解說中,您將會自訂「工作」(Task) 工作項目類型 (此工作項目是從這個工作項目類型所建立)。

匯出工作項目類型

必要條件:您已完成建立 Team 專案程序。可以使用 "WITLab" Team 專案。

若要匯出工作項目類型

  1. 開啟 Visual Studio 命令提示字元。

  2. 在命令提示字元中,輸入下列命令,然後按 ENTER:

    witexport /f "File Path\task.xml" /t "Team Foundation Server name" /p WITLab /n Task

    這樣會從 Team Foundation Server 將 Task 工作項目類型匯出至 XML 檔。當匯出作業完成時,就會顯示下列訊息:

    Work item type export complete.

  3. (選擇項) 若要檢視「工作」(Task) 工作項目類型的 XML 定義,請在命令提示字元中輸入 task.xml,然後按 ENTER。

重新命名類型

必要條件:您已完成匯出工作項目類型程序。

若要重新命名類型

  1. 在 Visual Studio 中,依序按一下 [檔案] 和 [開啟檔案]。

    如此會顯示 [開啟檔案] 對話方塊。

  2. 在 [查詢] 下,移至匯出檔案的位置。

    如果您要修改工作項目類型,以便自訂流程範本,請移至存放所下載之流程範本的位置。

    注意事項:

    如果您是執行 Windows Vista,則可能沒有存取特定資料夾的權限。如果嘗試將工作項目類型匯出至您無法存取的位置,登錄模擬技術便會自動重新導向至已匯出的檔案,並將該檔案儲存在虛擬存放區中。如需詳細資訊,請參閱 https://msdn2.microsoft.com/zh-tw/library/aa965884.aspxhttps://go.microsoft.com/fwlink/?LinkId=92323。若要避免此重新導向,可以將此檔案匯出至您能存取的位置。

  3. 按一下 task.xml 檔案,然後再按 [開啟]。然後在收到關於行尾結束符號的提示時,按一下 [否]。

    如此會開啟 task.xml,此 XML 檔中包含「工作」(Task) 工作項目類型的定義。

  4. 在此 XML 檔中尋找下列項目。

    <WORKITEMTYPE name="Task">
    
  5. 將 name 屬性的值變更為 Special Task。

    <WORKITEMTYPE name="Special Task">
    
  6. 將變更儲存到新的 XML 檔;若要這麼做,請按一下 Visual Studio [檔案] 功能表上的 [將 task.xml 另存為]。

    [另存新檔] 對話方塊隨即顯示。

  7. 在 [檔案名稱] 中輸入 specialtask.xml,然後按一下 [儲存]。

匯入變更

必要條件:您已完成重新命名類型程序。

若要匯入變更

  1. 開啟 Visual Studio 命令提示字元。

  2. 將已變更的工作項目類型匯入至 Team Foundation Server 中。若要這樣做,請在 Visual Studio 命令提示字元中輸入下列命令,然後再按 ENTER:

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    這會將 specialtask 工作項目類型匯入至 Team Foundation Server 中。當匯入作業完成時就會顯示下列訊息:

    Work item type import complete.

  3. 選取您的 Team 專案,然後按一下 [檢視] 功能表上的 [重新整理],從伺服器下載最新的更新檔。

    這些更新檔含有您剛匯入的變更。等候數秒,直到載入所有節點為止。仍在載入中的節點會顯示 [正在執行] 一詞。

  4. 建立新的 Special Task 工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [Special Task]。

    此工作項目是根據您所變更並匯入的工作項目類型建立。

加入欄位

必要條件:您已完成重新命名類型程序。

若要加入欄位

  1. 開啟含有 Special Task 工作項目類型定義的檔案。若要這樣做,請在 Visual Studio 中按一下標記為 [SpecialTask.xml] 的索引標籤。

  2. 尋找 XML 檔的下列區段。

    <FIELDS>
    
  3. 輸入下列以粗體字顯示的 XML 程式碼,建立命名為 Category 的新字串欄位以及工具提示的 [說明] 文字。

    <FIELDS>
    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String">    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT></FIELD>
    
    注意事項:

    參考名稱 (或 refname) 為此欄位的程式設計名稱,所有其他規則都應該要參考這個 refname。如需詳細資訊,請參閱 欄位參考名稱

  4. 尋找 XML 檔中描述此工作項目表單的區段。

    <FORM>
    
  5. 在 <FORM> 區段中尋找下列程式碼行。

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
      </Column>
    </Group>
    
  6. 輸入下列以粗體字顯示的 XML 程式碼,插入新的控制項來顯示 [Category] 欄位:

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />  </Column>
    </Group>
    
  7. 在 [檔案] 功能表上,按一下 [儲存] 儲存對 XML 檔所做的變更。

  8. 將變更的 Special Task 工作項目類型匯入至 Team Foundation Server 中。若要這樣做,請在 Visual Studio 命令提示字元中輸入下列命令,然後再按 ENTER:

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    注意:若要使用快速鍵,您可以在命令列按向上箭號,來顯示最後輸入的命令。

    這會將 specialtask 工作項目類型匯入至 Team Foundation Server 中。當匯入作業完成時就會顯示下列訊息:

    Work item type import complete.

  9. 在 Team 總管中,按一下 [重新整理],從伺服器下載最新的更新檔。

    這些更新檔含有您剛匯入的變更。等候數秒,直到載入 [工作項目] 節點為止。仍在載入中的節點會顯示 [正在執行] 一詞。

  10. 建立新的 Special Task 工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [Special Task]。

    此工作項目是根據您所變更並匯入的工作項目類型建立。

    請注意,表單上會出現新的 [Category] 欄位;將滑鼠指標移到此欄位標籤的上方,即可看到工具提示。

  11. 按一下 [關閉] 關閉新的「特殊工作」。當您收到儲存工作項目的提示時,請按一下 [否]。

將規則加入到欄位中

必要條件:您已經完成加入欄位程序。

若要將規則加入到欄位中

  1. 開啟含有 Special Task 工作項目類型定義的檔案。若要這樣做,請在 Visual Studio 中按一下標記為 [specialtask.xml] 的索引標籤。

  2. 尋找 XML 檔的 <FIELDS> 區段,以及此區段中的 [Category] 欄位。

  3. 將下列規則加入到 XML 檔,讓 [Category] 變成必要欄位;此規則是以粗體字顯示。

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    </FIELD>
    
  4. 在 [檔案] 功能表上,按一下 [儲存] 儲存對 XML 檔所做的變更。

  5. 將變更的 Special Task 工作項目類型匯入至 Team Foundation Server 中。若要這樣做,請在 Visual Studio 命令提示字元中輸入下列命令,然後再按 ENTER:

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    這會將 specialtask 工作項目類型匯入至 Team Foundation Server 中。當匯入作業完成時就會顯示下列訊息:

    Work item type import complete.

  6. 在 Team 總管中,按一下 [重新整理],從伺服器下載最新的更新檔。

    這些更新檔含有您剛匯入的變更。等候數秒,直到載入 [工作項目] 節點為止。仍在載入中的節點會顯示 [正在執行] 一詞。

  7. 建立新的 Special Task 工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [Special Task]。

    此工作項目是根據您所變更並匯入的工作項目類型建立。

    請注意,[Category] 欄位現在已反白顯示,這表示它現在是必要欄位。

  8. 在 Special Task 工作項目上選取 [標題] 欄位,然後輸入 "Sample Task"。

  9. 在工具列上,按一下 [儲存],儲存此工作項目。

    即會顯示一個錯誤對話方塊,表示 [Category] 欄位不能是空的;按一下 [確定],關閉對話方塊。

  10. 在 Special Task 的 [Category] 欄位中,輸入 A category。

  11. 按一下 [儲存],儲存此工作項目。

    請注意,現在便可以儲存此工作項目。

  12. 按一下 [關閉] 關閉新的「特殊工作」。

建立選擇清單

必要條件:您已完成將規則加入到欄位中程序。

若要建立選擇清單

  1. 開啟含有 Special Task 工作項目類型定義的檔案。若要這樣做,請在 Visual Studio 中按一下標記為 [specialtask.xml] 的索引標籤。

  2. 尋找 XML 檔的 <FIELDS> 區段,以及此區段中的 [Category] 欄位。

  3. 插入 ALLOWEDVALUES 規則,為 [Category] 欄位加入允許值的清單;下列 XML 程式碼中以粗體字顯示這個新的規則。

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    <ALLOWEDVALUES>
        <LISTITEM value="Process Management" />
        <LISTITEM value="Planning" />
        <LISTITEM value="Execution" />
        <LISTITEM value="Review" /></ALLOWEDVALUES>
    </FIELD>
    
  4. 刪除以粗體字顯示的 REQUIRED 規則,讓 [Category] 變成選擇性欄位。

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    <ALLOWEDVALUES>
        <LISTITEM value="Process Management" />
        <LISTITEM value="Planning" />
        <LISTITEM value="Execution" />
        <LISTITEM value="Review" />
    </ALLOWEDVALUES>
    </FIELD>
    
  5. 按一下 [儲存] 儲存對 XML 檔所做的變更。

  6. 將變更的 Special Task 工作項目類型匯入至 Team Foundation Server 中。若要這樣做,請在 Visual Studio 命令提示字元中輸入下列命令,然後再按 ENTER:

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    這會將 specialtask 工作項目類型匯入至 Team Foundation Server 中。當匯入作業完成時就會顯示下列訊息:

    Work item type import complete.

  7. 在 Visual Studio 的 Team 總管視窗中,按一下 [重新整理],從伺服器下載最新的更新檔。

    這些更新檔含有您剛匯入的變更。等候數秒,直到載入 [工作項目] 節點為止。仍在載入中的節點會顯示 [正在執行] 一詞。

  8. 建立新的 Special Task 工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [Special Task]。

    此工作項目是根據您所變更並匯入的工作項目類型建立。

  9. 按一下 [Category] 欄位的清單方塊。

    請注意,此欄位現在僅支援 ALLOWEDVALUES 規則所指定的值。

    注意事項:

    不論 XML 檔中的 LISTITEM 項目之順序為何,下拉式清單中的允許值一定會依照字母順序顯示。

  10. 按一下 [關閉] 關閉新的「特殊工作」。當您收到儲存工作項目的提示時,請按一下 [否]。

變更工作流程

必要條件:您已完成建立選擇清單程序。

若要變更工作流程

  1. 開啟含有 Special Task 工作項目類型定義的檔案。若要這樣做,請在 Visual Studio 中按一下標記為 [specialtask.xml] 的索引標籤。

  2. 在 XML 檔的 <WORKFLOW> 區段中尋找工作項目類型的工作流程定義,如下列 XML 程式碼所示:

    <WORKFLOW>
      <STATES>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    

    請注意,只有定義兩個狀態,也就是 Active 和 Closed;另外也定義了這兩個狀態之間的轉換,以及起源自 null 狀態的開始轉換,以用於最初建立工作項目時。

  3. 插入另一個 <STATE> 項目,在型別定義中加入 Unapproved 狀態;新的狀態是以粗體字顯示。

    <WORKFLOW>
      <STATES>
        <STATE value="Unapproved">    </STATE>    <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  4. 在 null 狀態和 unapproved 狀態之間建立轉換;若要這麼做,請先在工作流程定義的區段中找出轉換,然後插入下列以粗體字顯示的 XML 程式碼。由於這項變更的緣故,具有這個類型的所有新工作項目都將以 Unapproved 狀態開始,且預設原因 (default reason) 為 New。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">    <REASONS>      <DEFAULTREASON value="New" />    </REASONS>  </TRANSITION>  <TRANSITION from="" to="Active">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
        <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
            <COPY from="currentuser" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
            <COPY from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
            <COPY from="currentuser" />
          </FIELD>
        </FIELDS>
      </TRANSITION>
    
  5. 刪除下列 XML 程式碼中以粗體字顯示的 Active 轉換;將它刪除的原因,是因為只能有一個開始轉換,而您想要使用下一個步驟中所定義的 "Ported" 做為開始轉換。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
      </TRANSITION>
      <TRANSITION from="" to="Active">    <REASONS>      <DEFAULTREASON value="New" />    </REASONS>    <FIELDS>      <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">        <COPY from="currentuser" />      </FIELD>      <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">        <COPY from="clock" />      </FIELD>      <FIELD refname="System.AssignedTo">        <COPY from="currentuser" />      </FIELD>    </FIELDS>  </TRANSITION>
    
  6. 插入下列以粗體字顯示的 XML 程式碼,為開始轉換加入 "Ported" 原因,如此可讓使用者知道此工作項目是新的,或是從另一個追蹤系統移植而來。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />    </REASONS>
      </TRANSITION>
    ...
    
  7. 插入下列以粗體字顯示的 COPY 規則;這個規則會將 [指派給] 欄位預設為建立此工作項目的使用者,而且只有在開始轉換期間才會評估此規則。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>       <FIELD refname="System.AssignedTo">         <COPY from="currentuser" />       </FIELD>    </FIELDS>
      </TRANSITION>
    ...
    
    注意事項:

    在其他 <TRANSITION> 或 <STATE> 項目之下插入這個規則會將此規則的範圍設定為其他轉換或狀態。

  8. 插入下列以粗體字顯示的 XML 程式碼,建立從 Unapproved 狀態到 Active 狀態的轉換;由於這項變更的緣故,當核准 Special Task 時,它可以經歷這個轉換。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>
           <FIELD refname="System.AssignedTo">
             <COPY from="currentuser" />
           </FIELD>
        </FIELDS>
      </TRANSITION>
      <TRANSITION from="Unapproved" to="Active">    <REASONS>      <DEFAULTREASON value="Approved" />    </REASONS>  </TRANSITION>  <TRANSITION from="Active" to="Closed">
        <REASONS>
          <DEFAULTREASON value="Completed" />
          <REASON value="Deferred" />
          <REASON value="Obsolete" />
          <REASON value="Cut" />
        </REASONS>
    ...
    
  9. 按一下 [儲存] 儲存對 XML 檔所做的變更。

  10. 將變更的 Special Task 工作項目類型匯入至 Team Foundation Server 中。若要這樣做,請在 Visual Studio 命令提示字元中輸入下列命令,然後再按 ENTER:

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    這會將 specialtask 工作項目類型匯入至 Team Foundation Server 中。當匯入作業完成時就會顯示下列訊息:

    Work item type import complete.

  11. 在 Team 總管中,按一下 [重新整理],從伺服器下載最新的更新檔。

    這些更新檔含有您剛匯入的變更。等候數秒,直到載入 [工作項目] 節點為止。仍在載入中的節點會顯示 [正在執行] 一詞。

  12. 建立新的 Special Task 工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [Special Task]。

    此工作項目是根據您所變更並匯入的工作項目類型建立。

  13. 請注意,初始的 [狀態] 現在為 [Unapproved],而 [原因] 則預設為 [New]。此外,[指派給] 值會預設為您的帳戶名稱。按一下 [原因] 欄位,即可查看列出 [New] 和 [Ported] 原因的清單方塊。

  14. 在 [標題] 欄位中輸入標題,然後按一下 [儲存],儲存此工作項目。等候儲存作業完成,可以參考狀態列上的 [項目已儲存] 指示。

  15. 在 [狀態] 欄位中,選取 [Active] 值來核准此工作項目,並再次將它轉換。請注意,[原因] 欄位現在預設為 [Approved]。

  16. 按一下 [儲存],儲存這個轉換。

  17. 按一下 [關閉],關閉此「特殊工作」。

變更表單配置

必要條件:您已完成變更工作流程程序。

若要變更表單配置

  1. 開啟含有 Special Task 工作項目類型定義的檔案。若要這樣做,請在 Visual Studio 中按一下標記為 [specialtask.xml] 的索引標籤。

  2. 尋找 XML 檔的 <TabGroup> 區段。請注意,Links 和 File Attachments 有 <Tab> 項目,其中的每一個 <Tab> 項目都包含可呈現各自控制項的 <Control> 項目。

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  3. 將上一個步驟中所示的 XML 程式碼替換為底下的新 XML 程式碼,即可將兩個 <Tab> 項目合併成包含兩個控制項的單一 Links and Attachments <Tab> 項目。

    <Tab Label="Links and Attachments">
      <Control Type="LinksControl" Label="Links" LabelPosition="Top" />
      <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" />
    </Tab>
    
  4. 尋找可描述 [類別] 和 [狀態] 群組的 <FORM>、<Layout> 定義的區段。

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
      </Column>
    </Group>
    
    注意事項:

    為了得到最佳結果,即使資料行橫跨了表單的整個寬度,每一個控制項或群組也都應該顯示在資料行中;而即使群組沒有可見的標籤或界限,每一個資料行也都應該顯示在群組中。

  5. 選取下列以粗體字顯示的程式碼行,然後按一下 [編輯] 功能表上的 [複製],將此內容複製到剪貼簿供之後使用。

      <Column PercentWidth="70">
        <Group>
          <Column PercentWidth="100">
            <Group Label="Classification">
              <Column PercentWidth="100">
                <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />            <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />            <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />          </Column>
            </Group>
    
  6. 刪除下列 XML 程式碼中以粗體字顯示的程式碼行,從表單上的目前位置中移除類別 (Classification) 群組。

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification">    <Column PercentWidth="100">      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" />      <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" />      <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />    </Column>  </Group>
    
  7. 在 <TabGroup> 區段中,尋找下列定義 [詳細資料] 索引標籤的程式碼行:

    <Tab Label="Details">
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;build:" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
        <Column PercentWidth="50">
          <Group Label="Schedule">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  8. 將剪貼簿的內容貼到下列位置,即可將這些控制項移到 [Details] 索引標籤。

    <Tab Label="Details">
      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />  <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />  <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />  <Group>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" />
    ...
    
  9. 進行下列粗體字中所顯示的變更,在移動的欄位周圍建立群組,並將這些欄位分成兩個資料行。

    <Tab Label="Details">
      <Group Label="Classification">    <Column PercentWidth="50">      <Group>        <Column PercentWidth="100">          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
              <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
            </Column>      </Group>    </Column>    <Column PercentWidth="50">      <Group>        <Column PercentWidth="100">          <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
            </Column>      </Group>    </Column>  </Group>
      <Group>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" />
    ...
    
  10. 按一下 [儲存] 儲存對 XML 檔所做的變更。

  11. 將變更的 Special Task 工作項目類型匯入至 Team Foundation Server 中。若要這樣做,請在 Visual Studio 命令提示字元中輸入下列命令,然後再按 ENTER:

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    這會將 specialtask 工作項目類型匯入至 Team Foundation Server 中。當匯入作業完成時就會顯示下列訊息:

    Work item type import complete.

  12. 在 Team 總管中,按一下 [重新整理],從伺服器下載最新的更新檔。

    這些更新檔含有您剛匯入的變更。等候數秒,直到載入 [工作項目] 節點為止。仍在載入中的節點會顯示 [正在執行] 一詞。

  13. 建立新的 Special Task 工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點,並指向 [加入工作項目],然後按一下 [Special Task]。

    此工作項目是從您所變更的工作項目類型而建立。

    請注意,類別 (Classification) 群組不再顯示於主要表單上。按一下 [連結和附件] (Links and Attachments) 索引標籤和 [詳細資料] (Details) 索引標籤,查看您所做的變更結果。

  14. 按一下 [關閉] 關閉新的「特殊工作」。當您收到儲存工作項目的提示時,請按一下 [否]。

後續步驟

如需對工作項目類型進行其他自訂工作的逐步指示,請參閱逐步解說:對工作項目類型進行進階自訂

請參閱

工作

逐步解說:管理工作項目類型中的欄位

其他資源

自訂工作項目類型

自訂 Team Foundation 的工作項目類型