共用方式為


HOW TO:變更工作項目類型的工作流程

更新:2007 年 11 月

您可以透過匯出 XML 檔並修改其內容,變更工作項目類型的工作流程。一旦您修改了工作流程,就可以匯入 XML 檔,以便開始使用更新的工作項目類型。

必要權限

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

若要變更工作流程

  1. 如果您要修改單一專案中的工作項目類型,請執行 witexport,以便針對想要修改的工作項目類型匯出 XML 檔。如需詳細資訊,請參閱 HOW TO:從現有的專案匯出工作項目類型

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

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

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

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

    注意事項:

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

  4. 選取您想要更新的工作項目類型 XML 檔,然後按一下 [開啟]。然後在收到關於行尾結束符號的提示時,按一下 [否]。

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

    <WORKFLOW>
      <STATES>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  6. 插入另一個 <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">
    ...
    
  7. 在 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>
    
  8. 刪除在下列 XML 程式碼中反白顯示的 Active 轉換。這樣做是因為只能有一個開始轉換。

    <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>
    
  9. 插入下列以粗體字顯示的 XML 程式碼,為開始轉換加入 "Ported" 原因,如此可讓使用者知道此工作項目是全新的,還是從另一個追蹤系統移植而來。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />    </REASONS>
      </TRANSITION>
    ...
    
  10. 插入下列以粗體字顯示的 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> 項目之下插入這個規則會將此規則的範圍設定為其他轉換或狀態。如需詳細資訊,請參閱使用 <WHEN*>、<DEFAULT> 和 <COPY> 規則

  11. 加入下列範例中反白顯示的 XML 程式碼,建立從 Unapproved 狀態到 Active 狀態的轉換。由於這項變更的緣故,當此工作項目獲得核准時,它可以經歷這個轉換。

    <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>
    ...
    
  12. 在工具列上,按一下 [儲存] 儲存對 XML 檔所做的變更。

  13. 若要將新的工作項目類型匯入單一專案,請參閱 HOW TO:將工作項目類型匯入至現有的專案。若要將工作項目類型加入至流程範本,請參閱工作項目類型

若要驗證匯入單一專案的變更

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

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

  2. 使用您所修改的工作項目類型,建立新的工作項目。若要這樣做,請以滑鼠右鍵按一下 [工作項目] 節點、指向 [加入工作項目],然後按一下工作項目類型。

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

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

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

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

  6. 在工具列上,按一下 [儲存] 儲存這項轉換。

  7. 按一下 [關閉] 關閉工作項目。

請參閱

概念

狀態、轉換和原因

轉換安全性

依狀態、轉換或原因設定欄位規則的範圍

其他資源

自動化狀態轉換