更新 Agile Team 專案的工作流程

當您為已升級之 Team 專案的功能之後,建立流程範本是以敏捷式軟體開發 (Agile Software Development 的 Microsoft Solutions Framework (MSF),請手動更新使用者劇本和工作流程工作。如果您沒有更新工作流程,如下圖所示,則工作委員會只提供兩個狀態, [現用] 和 [關閉]。這會讓您和小組區別這些是進行中尚未啟動的工作之間。

指派 Agile Team 專案的 Committee,但不建議的手動更新

未更新之 Agile Team 專案的工作面板

配置功能精靈所做的更新會以符合您的 Team 專案所定義的現有的工作流程。對於 MSF Agile 流程範本的版本 5.0,這表示新增和移除的狀態引入的最新版本不存在。這些狀態支援從新的狀態轉換至 Canceled 狀態的使用者劇本為作用中狀態。未定義的新狀態,使用者劇本指派給反覆項目在產品待處理項目,直到解析,而不是預期或預期的行為。

因此,使用工作委員會,加入新的狀態變更為工作流程可讓使用者從新移動工作,移至作用中,移至已關閉。此外,使用規劃工具,可以將移除的狀態變更為使用者劇本和工作類型定義您可以讓使用者剪下劇本和工作。

若要支援所需的行為,您必須將新的和移除的狀態變更為使用者劇本和工作項目類型,並更新 IIS 管理組態中指定的 metastate 對應。

注意事項注意事項

您可以使用程序編輯器執行下述流程,它是一個 Visual Studio 的強大工具增益集,您可以下載並安裝它。在功能表下, [工具] 流程編輯器提供自訂 Team Foundation Server 提供圖形化使用者介面的流程範本。您可以使用這個工具匯入和匯出工作項目類型和修改流程範本的內容。如需詳細資訊,請參閱下列 Microsoft 網站的網頁:Team Foundation Server Power Tools (英文)。

需求

  • 若要執行 witadmin 命令列工具,您必須是下列其中一個群組的成員: [Team Foundation 管理員]、 [專案集合管理員] 或小組專案的 [專案系統管理員]群組。請參閱 Team Foundation Server 使用權限

更新工作流程和 metastates 一 Agile Team 專案

重要事項重要事項

本主題中的程序撰寫以 MSF for Agile Software Development 6.0。若要更新 Team 專案支援敏捷式軟體開發 (Agile Software Development、MSF 6.1 定義的最新工作流程,您可以調整這些程序複製最新 Agile 流程範本的 WORKFLOW 區段。重大更新完成了數個工作項目類型的工作流程在最新的季更新。這些變更支援反向轉換,如此一來,當您不慎拖曳 Kanban Committee 或工作委員會的工作項目為已解決或已關閉狀態時,您可以將它拖曳至先前的工作流程狀態。

若要進一步了解更新,請參閱 計劃和追蹤的新功能

若要取得預設流程範本的最新版本的存取,請安裝 Team Foundation Server的最新的季更新。您可以從 Microsoft 下載網站的更新: Microsoft Visual Studio Team Foundation Server 的季更新 2012 年.

您必須執行下列步驟:

  • 匯出定義使用者劇本和工作類型及管理設定的。

  • 程式碼片段插入至使用者劇本和工作的工作流程區段。

  • 更新管理組態的 metastate 對應。

  • 匯入工作項目的更新定義和管理設定。

  • 確認變更出現在工作委員會。

重要事項重要事項

為了執行下列程序,在所定義的工作流程必須指定 [作用中] 狀態為工作項目的使用者劇本和工作類型。

更新工作流程狀態和轉換的使用者劇本

  1. 若要執行 witadmin 命令列工具,請在安裝 Visual Studio 或 Team Explorer 的系統中開啟命令提示字元視窗,並輸入:

    cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
    

    在 Windows 64 位元版本中,將 %programfiles% 取代為 %programfiles(x86)%

  2. 若要匯出使用者劇本的型別定義,請輸入下列命令,以您的資料由此處顯示的引數,其中 CollectionURL 指定 Team 專案集合的 URL, ProjectName 指定集合內定義的 Team 專案名稱,DirectoryPath,而「\filename.xml」指定名稱和位置以檔案可以匯出。然後按 ENTER。

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"User Story" /f:"DirectoryPath\FileName.xml"
    

    URL使用這種格式:**http://**伺服器名稱: 連接埠/虛擬資料夾/集合名稱例如: http://srvalm:8080/tfs/DefaultCollection。

  3. 在文字編輯器 (或在 Visual Studio 中,開啟您要匯出的檔案。

  4. 加入至行 <STATES> 和 <STATE value="Active">的程式碼片段:

    <STATE value="New">
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <EMPTY />
          </FIELD>
       </FIELDS>
    </STATE>
    <STATE value="Removed" />
    
  5. 取代從 <TRANSITION from=" " to="Active"> 和結尾開始使用 <TRANSITION> 與此程式碼片段的區段:

    <TRANSITION from="" to="New">
       <REASONS>
          <DEFAULTREASON value="New" />
       </REASONS>
       <FIELDS>
          <FIELD refname="System.Description">
             <DEFAULT from="value" value="As a &amp;lt;type of user&amp;gt; I want &amp;lt;some goal&amp;gt; so that &amp;lt;some reason&amp;gt;" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Active">
       <REASONS>
          <DEFAULTREASON value="Implementation started" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
             <DEFAULT from="currentuser" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Active" to="New">
       <REASONS>
          <DEFAULTREASON value="Implementation halted" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Removed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reconsidering the User Story" />
       </REASONS>
    </TRANSITION>
    
  6. 儲存並關閉檔案。

  7. 匯入檔案,替換成您的資料並將顯示的引數。

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    

更新工作流程狀態和轉換的工作

  1. 匯出工作的型別定義,替換成您的資料並將顯示的引數。

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  2. 在文字編輯器 (或在 Visual Studio 中,開啟您要匯出的檔案。

  3. 加入至行 <STATES> 和 <STATE value="Active">的程式碼片段:

    <STATE value="New">
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <EMPTY />
          </FIELD>
       </FIELDS>
    </STATE>
    <STATE value="Removed" />
    
  4. 取代第一項轉換封鎖,連同落在 <TRANSITION from="" to="Active"> 和其結尾 </TRANSITION> 標記之間的行對應,使用此程式碼片段:

    <TRANSITION from="" to="New">
       <REASONS>
          <DEFAULTREASON value="New" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="New" to="Active">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.StartWork" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Work started" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
             <DEFAULT from="currentuser" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="Active" to="New">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.StopWork" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Work halted" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="New" to="Closed">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.Checkin" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Completed" />
          <REASON value="Cut" />
          <REASON value="Deferred" />
       <REASON value="Obsolete" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <READONLY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <READONLY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
          <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="Closed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reactivated" />
       </REASONS>
       <FIELDS>
          <FIELD refname="System.AssignedTo">
             <COPY from="field" field="Microsoft.VSTS.Common.ClosedBy" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Active" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Removed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reconsidering the Task" />
       </REASONS>
    </TRANSITION>
    
  5. 儲存並關閉檔案。

  6. 匯入檔案,替換成您的資料並將顯示的引數。

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    

更新管理組態的 metastate 對應

  1. 輸入下列命令會將 CommonConfiguration 檔案,替換成您的資料並將顯示的引數。

    witadmin exportcommonprocessconfig /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\CommonConfiguration.xml"
    

    其中, CollectionURL 指定 Team 專案集合和 ProjectName 的 URL 指定 Team 專案的名稱。URL使用這種格式:**http://**伺服器名稱: 連接埠/虛擬資料夾/集合名稱例如: http://srvalm:8080/tfs/DefaultCollection。

  2. 在記事本或其他文字編輯器中,開啟 CommonConfiguration.xml 檔案。

  3. 找出 <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories"> 標記。

  4. 將取代成下列各行的行 <State type="Proposed" value="Active" /> :

    <State type="Proposed" value="New" /> 
    <State type="InProgress" value="Active" /> 
    
  5. 找出標記 <TaskWorkItems category="Microsoft.TaskCategory">,並且將取代為下列各行的行 <State type="Proposed" value="Active" /> :

    <State type="Proposed" value="New" />
    <State type="InProgress" value="Active" />
    
  6. 請確認您有下列對應:

    <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">
       <States>
          <State type="Proposed" value="New"/>
          <State type="InProgress value="Active" />
          <State type="InProgress value="Resolved" />
          <State type="Complete" value="Closed" />
       </States>
    </RequirementWorkItems>
    <TaskWorkItems category="Microsoft.TaskCategory">
       <States>
          <State type="Proposed" value="New" />
          <State type="InProgress" value="Active" />
          <State type="Complete" value="Closed" />
       </States>
    </TaskWorkItems>
    
  7. 儲存並關閉檔案。

  8. 匯入組態檔。

    witadmin importcommonprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\CommonConfiguration.xml" 
    

確認變更出現在工作委員會

  1. 開啟 Team Web Access 並連接至具有下列格式的 Team 專案使用 URL:

    http://MyServer:8080/tfs/TeamProjectCollectionName/MyProject
    

    如果 TWA 已經開啟,請重新整理瀏覽器重新整理快取。

  2. 驗證工作委員會行現在會顯示 [新增]、 [現用] 和 [關閉]。

    指派 Agile Team 專案的委員會以更新工作流程狀態。

    含有已更新工作流程的 Agile 工作面板

    若要進一步了解如何使用工作面板,請參閱 執行反覆項目

請參閱

概念

敏捷式計劃和反覆項目

更新已升級的 Team 專案以使用新功能