匯入和匯出程式設定

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

重要

針對內部部署 XML 進程模型,您可以使用 witadmin 來列出、匯入、匯出和修改項目的進程。 針對繼承和託管的 XML 進程模型,您只能使用 witadmin 來列出和匯出進程資訊。 如需程式模型的概觀和支持專案,請參閱 自定義您的工作追蹤體驗

您可以自定義程式設定,以修改 Web 入口網站 Agile 工具的顯示。 一些額外的工具會要求您將工作流程狀態對應至中繼狀態。

注意

如果您收到錯誤訊息TF400917,則發生無效的組態。 使用 witadmin importprocessconfig重新匯入程式組態檔至您的專案。 您將會收到解決錯誤所需的訊息。

若要管理專案的處理程式組態,請使用 witadmin 命令行工具來匯出和匯入進程組態 XML 定義檔。 若要了解進程設定,請參閱 ProcessConfiguration

  • exportprocessconfig:將進程組態定義匯出至 XML 檔案或命令提示字元視窗。
  • importprocessconfig:匯入進程組態定義 XML 檔案。

witadmin執行命令行工具

若要執行 witadmin 命令行工具,請開啟已安裝 Visual Studio 的命令提示字元視窗。 witadmin命令行工具會安裝任何版本的 Visual Studio。 您可以安裝免費的 Visual Studio Community 或 Visual Studio Team Explorer 版本來存取此工具。

注意

若要連線到 Azure DevOps Services,建議您使用最新版的 Visual Studio 或 Visual Studio Community。

注意

若要連線到內部部署伺服器,建議您使用與 Azure DevOps Server 相同的或更新版本的 Visual Studio。 例如,如果您連線到 Azure DevOps Server 2019,請從 Visual Studio 2019 版本連線到您的專案。

針對 Visual Studio 2022

%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

或或 ProfessionalEnterprise 取代 Community,視您安裝的版本而定。

針對 Visual Studio 2019

%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

或或 ProfessionalEnterprise 取代 Community,視您安裝的版本而定。

針對 Visual Studio 2017

%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

或或 TeamExplorerProfessional 取代 Enterprise,視您安裝的版本而定。

在 32 位版本的 Windows 上,將 %programfiles(x86)% 取代%programfiles%。 您可以 安裝 Visual Studio Community (提供 Team Explorer 的存取權)或 Visual Studio Team Explorer 2017 免費。

提示

使用 witadmin,您可以 匯入和導出定義檔。 您可以使用的其他工具包括行程編輯器(需要您已安裝 Visual Studio 版本)。 從 Visual Studio Marketplace 安裝程式範本編輯器。

必要條件

  • 若要匯出進程組態定義,您必須是專案或集合的有效使用者。
  • 若要匯入程式組態定義,您必須是下列安全組的成員:Team Foundation 管理員 istratorsProject 管理員 istrators

如需詳細資訊,請參閱 變更專案集合層級許可權

語法

witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName [/f:FileName] [/e:encoding]    
witadmin importprocessconfig /collection:CollectionURL [/p:ProjectName] /f:FileName [/e:encoding] [/v]  

參數

參數

說明

/collection:CollectionURLx

指定專案集合的 URI。 例如:

內部部署 Azure DevOps 格式:http://ServerName:Port/VirtualDirectoryName/CollectionName

如果沒有使用虛擬目錄,則 URI 的格式如下: http://ServerName:Port/CollectionName

/p:ProjectName

必要。 指定要匯出或匯入程式組態的專案。 此項目必須在您使用 /collection 參數所指定的集合中定義。 當您指定 參數時,不需要指定 /v 專案。

/f**:FileName

要匯出或匯入之進程組態的 XML 定義檔路徑和名稱。

注意

如果用戶端電腦執行 Windows Vista,您可能沒有特定資料夾的許可權。 如果您嘗試將全域清單匯出至您沒有許可權的位置,登錄虛擬化技術會自動將導出的檔案重新導向並儲存至虛擬存放區。 如需詳細資訊,請參閱 Microsoft 網站上的登錄虛擬化 頁面。 若要避免此重新導向,您可以將檔案匯出至您具有許可權的位置。

/e:Encoding

選擇性。 .NET Framework 2.0 編碼格式的名稱。 指定的編碼將用來匯出或匯入 XML 數據。 例如, /e utf-7 指定 Unicode (UTF-7) 編碼。 如果您省略此參數, witadmin 會嘗試偵測編碼,並在偵測失敗時使用 UTF-8。

/v

選擇性。 驗證定義進程組態但不會匯入定義檔的 XML。

/?help

在 [命令提示字元] 視窗中顯示命令的說明。

備註

安裝最新版的 Azure DevOps 會升級現有的專案。 如果您要更新升級的專案,請參閱 在升級后設定功能。

如果您在升級后遇到存取現有測試計劃或測試套件的問題,請參閱 手動更新以支持測試管理

範例

下列值適用於每個範例:

  • 集合的網址: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • 專案: Contoso
  • 伺服器網站的埠號碼: 8080

若要將欄位新增至快速新增面板

您可以新增任何快速新增面板的欄位。 例如,下列範例會將商務價值新增至產品待辦項目面板。

已新增 [商務價值] 欄位的待辦專案面板

此面板只會顯示所選取 WIT 之 WIT 定義區段中所包含的 FIELDS 欄位。 例如,如果您選取 Bug WIT,則只會顯示標題,因為未針對 Bug 定義商業價值。 若要將另一個 WIT 新增至面板,請將它新增至需求類別目錄。 請參閱 將工作項目類型新增至待辦專案和面板

  1. 如果您沒有項目的系統管理許可權, 請取得它們

  2. 根據如何執行 witadmin 命令行工具提供的指示,開啟命令提示字元視窗。 例如:

    cd %programfiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
    
  3. 匯出進程組態檔。

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

    CollectionURL範例為http://MyServer:8080/tfs/TeamProjectCollectionName.

  4. 將欄位參考名稱新增至 AddPanel 區段。

    例如,下列語法會將 Priority 元素新增至面板。

    <AddPanel>  
       <Fields>  
          <Field refname="System.Title" />  
          <Field refname="Microsoft.VSTS.Common.BusinessValue" />  
       </Fields>  
    </AddPanel>  
    

    提示

    • 您可以使用這個 索引來查閱欄位的參考名稱。
    • 為 [需求類別] 定義的工作項目類型新增所有必要的欄位。 如此一來,當您透過面板新增待辦專案時,請避免開啟工作專案窗體以填入這些專案。
  5. 匯入進程組態檔。

    witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"  
    
  6. 重新整理待辦項目頁面以檢視更新的面板。

更新中繼狀態對應以支持測試管理員

如果您自定義 WORKFLOW 測試計劃或測試套件的 區段,則必須將狀態對應至中繼狀態。

在下列範例中,測試計劃工作流程已更新為使用設計、測試和已簽署狀態。 為了支援回溯相容性,會將 TestPlanWorkItems 新增至 ProjectProcessConfiguration 進程組態定義的 區段。

工作流程

<WORKFLOW>
      <STATES>
        <STATE value="Design" />
        <STATE value="Testing" />
        <STATE value="Signed Off" />
      </STATES>
      <TRANSITIONS>
        <TRANSITION from="" to="Design">
          <REASONS>
            <DEFAULTREASON value="New test plan" />
          </REASONS>
        </TRANSITION>
     <TRANSITION from="Design" to="Testing">
          <REASONS>
            <DEFAULTREASON value="Authoring complete" />
          </REASONS>
        </TRANSITION>        
     <TRANSITION from="Testing" to="Signed Off">
          <REASONS>
            <DEFAULTREASON value="Signed Off testing" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Signed Off" to="Design">
          <REASONS>
            <DEFAULTREASON value="Reactivating to authoring phase" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Signed Off" to="Testing">
          <REASONS>
            <DEFAULTREASON value="Reactivating to run tests" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Testing" to="Design">
          <REASONS>
            <DEFAULTREASON value="Back to authoring" />
          </REASONS>
        </TRANSITION>
      </TRANSITIONS>
    </WORKFLOW>

Metastate 對應

<TestPlanWorkItems category="Microsoft.TestPlanCategory" pluralName="Test Plans" singularName="Test Plan">
    <States>
      <State type="InProgress" value="Design" />
      <State type="InProgress" value="Testing" />
      <State type="Complete" value="Signed Off" />
    </States>
  </TestPlanWorkItems>
<TestSuiteWorkItems category="Microsoft.TestSuiteCategory" pluralName="Test Suites" singularName="Test Suite">
    <States>
      <State type="Proposed" value="In Planning" />
      <State type="InProgress" value="In Progress" />
      <State type="Complete" value="Completed" />
    </States>
  </TestSuiteWorkItems>

如果您修改測試套件工作流程,則如果您想要對應新的狀態,則必須進行類似的更新。 您會在 區段內 TestSuiteWorkItems 新增它。 請參閱 ProcessConfiguration

問與答

問:何時需要將工作流程狀態對應至中繼狀態?

答: 當您將工作流程狀態新增或移除至下列工作項目類型時,您應該考慮更新程式組態以新增或移除對應的中繼對應。

  • 屬於需求類別或工作類別的工作項目類型:Metastate 對應支持顯示敏捷式規劃工具。

  • 屬於 Bug 類別的工作項目類型:Metastate 對應以支援 My Work 工具 (Agile 和 CMMI 型專案)。

  • 測試計劃和測試套件:只有在支援以Visual Studio 2013.2或舊版為基礎的Test Manager版本連線到 Azure DevOps 的小組成員時,才能對應到這些工作項目類型的工作流程 更新。

    如果您在 連線到專案時偵測到非預期的錯誤 ,請更新中繼州對應。

    TFS 升級之後的應用程式錯誤訊息

如何? 解決進程設定錯誤?

答: 當您對項目進行下列其中一項變更時,您必須更新工作專案類型、類別或進程設定的定義。 若要避免錯誤,請一律依此順序進行變更:(1) 工作項目類型、(2) 類別和 (3) 進程設定。

自訂

更新或驗證工作項目類型定義

更新或驗證進程組態定義

將工作專案類型新增至需求類別

(工作專案類型可以屬於需求類別或工作類別目錄,但不能同時屬於兩者。

若要包含下列欄位:

  • 待辦項目優先順序 (Scrum) 或堆疊排名 (Agile 或 CMMI)

    (必須符合指派給進程組態檔中 type=Order 的域值)
  • 努力(Scrum)、故事點(敏捷式)或大小(CMMI)

    (必須符合進程組態檔中指派給 type=Effort 的域值)
  • 進程組態檔中指派給 type=Team 的區域路徑或域值

  • 進程組態檔區段中包含的 AddPanel 所有欄位(欄位必須在 區段內 FIELDS 定義,但不需要包含在 FORM 區段中。

若要包含必要的 Metastate 對應:

  • 將每個工作流程狀態的開始對應至 type="Proposed"
  • 將您想要顯示在工作流程看板上的每個中繼工作流程狀態對應至 type="InProgress"
  • 將每個工作流程狀態的結尾對應至 type="Complete"
    您只能有一個對應至的狀態 type="Complete"

    若要包含專案,以定義與 WIT 相關聯的色彩代碼。 例如:
    <WorkItemColor primary="FF009CCC" secondary="FFD6ECF2" name="Product Backlog Item" />

變更需求類別中工作項目類型的工作流程

N/A

若要包含必要的中繼項目對應,如上所述,將工作項目類型新增至需求類別目錄。

將工作項目類型新增至工作類別目錄

若要包含下列欄位:

  • 待辦項目優先順序 (Scrum) 或堆疊排名 (Agile 或 CMMI)
  • 活動 (Scrum 或 Agile) 或專業領域 (CMMI)
    (必須符合進程組態檔中指派給 type=Activity 的域值)
  • 剩餘工時
    (必須符合進程組態檔中指派給 type=RemainingWork 的域值)
  • 進程組態檔中指派給 type=Team 的區域路徑或域值
  • (選擇性)原始工作和已完成工作(僅限敏捷式和 CMMI)

若要包含必要的 Metastate 對應:

  • 將每個工作流程狀態的開頭對應至 type=“Proposed”
  • 將您想要顯示在工作面板上的每個中繼工作流程狀態對應至 type="InProgress"
  • 將每個工作流程狀態的結尾對應至 type="Complete

    您只能有一個對應至的狀態 type="Complete"

若要包含專案,以定義與 WIT 相關聯的色彩代碼。 例如:

<WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Task" />

在 [工作類別] 中變更工作項目類型的工作流程

N/A

若要包含必要的中繼狀態對應,如上所述,將工作項目類型新增至工作類別目錄。

將工作項目類型新增至 Bug 類別(僅限敏捷式和 CMMI)
變更 Bug 類別中工作項目類型的工作流程(僅限敏捷式和 CMMI)

N/A

若要包含必要的 Metastate 對應:

  • 將每個工作流程狀態的開始對應至 type="Proposed"
  • 對應您要針對 [我的工作] 顯示的每個中繼工作流程狀態 type="InProgress"
  • 對應每個工作流程狀態類型=“Complete” 的結尾

您只能有一個對應至的狀態 type="Complete"

若要深入瞭解,請參閱 使用我的工作支援錯誤更新狀態。

從需求類別或工作類別中移除工作項目類型

N/A

拿掉僅與該工作項目類型相關聯的任何中繼狀態對應

從項目移除工作項目類型

若要從類別檔案中移除工作項目類型。

若要移除任何中繼對應,這些對應只會與您移除的工作專案類型相關聯,以及 WorkItemColor 定義您所移除之工作專案類型的色彩代碼的專案。

問:您要使用兩個或多個組合待辦專案嗎?

答: 默認體驗支援一層組合待辦專案。 您可以新增最多五個層級,如將組合待辦專案新增至 Agile 工具中所述

問:您要新增或變更工作面板或產品待辦項目上顯示的工作項目類型嗎?

答: 如果您已新增自定義工作項目類型,而且想要將它新增至待辦專案或工作面板,您可以。 你只是不能讓他們出現在兩個地方。 瞭解如何閱讀將 工作項目類型新增至待辦專案和面板