共用方式為


在您設定已升級 Team 專案 (基於 Microsoft Solutions Framework (MSF) for Agile Software Development 5.0 版,使用流程範本建立) 的功能之後,您應該手動更新使用者劇本及工作的工作流程指派。 如果您沒有更新工作流程,則工作面板只提供兩種狀態:[使用中] 及 [已關閉],如下圖所示。 這會讓您和小組無法區別進行中的工作與尚未開始的工作。

無建議手動更新之 Agile Team 專案的工作面板

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

[設定功能精靈] 所進行的更新旨在符合針對 Team 專案所定義的現有工作流程。 若為 MSF Agile 5.0 版流程範本,表示隨最新版本所引入的 [新增] 及 [已移除] 狀態不存在。 這些狀態支援將使用者劇本從 [新增] 狀態切換為 [作用中] 狀態。 如果未定義 [新增] 狀態,則指派給反覆項目的使用者劇本,在獲得解決之前仍會保留在產品待處理項目中,而這並不是所需或預期的行為。

同樣地,將 [新增] 狀態加入工作的工作流程,可讓使用者使用工作面板,將工作從 [新增] 移動到 [作用中],再到 [已關閉]。 此外,透過將 [已移除 ] 狀態加入使用者劇本及工作類型定義,可讓使用者使用計劃工具,撤除劇本及工作。

若要支援所需的行為,您必須將 [新增] 及 [已移除] 狀態加入使用者劇本及工作的工作項目類型,並更新流程組態中所指派的轉移狀態對應。

注意事項注意事項

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

需求

  • 若要執行 witadmin 命令列工具,對於 Team 專案,您必須是下列其中一個群組的成員:[Team Foundation Administrators]、[Project Collection Administrators] 或 [Project Administrators]。 請參閱 Team Foundation Server 的權限參考

針對 Agile Team 專案更新工作流程及轉移狀態

重要

本主題中的程序以 MSF for Agile Software Development 6.0 為基礎撰寫。若要更新您的 Team 專案,以支援針對 MSF for Agile Software Development 6.1 所定義的最新工作流程,您可以另行調整這些程序,以複製最新 Agile 流程範本的 WORKFLOW 區段。在最新的季度更新中,工作流程的數個工作項目類型進行了重大更新。這些變更支援向後轉換,因此當您不慎將看板或工作面板上的工作項目拖曳到已解決或已關閉狀態時,您可以將它拖曳回到先前的工作流程狀態。

若要了解更新的詳細資訊,請參閱 計劃和追蹤的新功能

您需要執行下列步驟:

  • 匯出使用者劇本及工作等類型的定義,以及流程組態的定義。

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

  • 更新流程組態的轉移狀態對應。

  • 匯入工作項目類型及流程組態的已更新定義。

  • 確認變更出現在工作面板上。

重要

若要讓下列程序運作,必須在針對工作項目之使用者劇本及工作等類型定義的工作流程中,指定 [作用中] 狀態。

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

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

    cd %programfiles%\Microsoft Visual Studio 12.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://**ServerName:Port/VirtualDirectoryName/CollectionName,例如: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"
    

更新流程組態的轉移狀態對應

  1. 輸入下列命令,匯出 ProcessConfiguration 檔案,以您的資料取代顯示的引數。

    witadmin exportprocessconfig /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\ ProcessConfiguration.xml"
    

    其中,CollectionURL 指定 Team 專案集合的 URL,而 ProjectName 指定 Team 專案的名稱。 針對 URL,使用此格式:**http://**ServerName:Port/VirtualDirectoryName/CollectionName,例如:http://srvalm:8080/tfs/DefaultCollection。

  2. 在 [記事本] 或其他文字編輯器中,開啟 ProcessConfiguration.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 importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml" 
    

若要確認變更出現在工作面板上

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

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

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

  2. 確認工作面板資料行現在顯示 [新增]、[作用中] 及 [已關閉]。

    具有已更新工作流程狀態之 Agile Team 專案的工作面板

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

    若要了解使用工作面板的詳細資訊,請參閱 衝刺工作

請參閱

概念

使用 Visual Studio ALM 和 TFS 追蹤工作

在 TFS 升級後設定功能