連結ControlOptions XML 元素 (Web 表單)

Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

藉由將工作專案連結至其他物件,您可以追蹤隨時間所做的相關工作、相依性和變更。 透過更新的Control元素,您可以藉由設定type=「LinksControl」,在入口網站的工作專案表單內指定範圍連結控制項。

重要

本文適用于內部部署 XML (TFS 2017 和更新版本的專案自訂,) 處理模型。 針對 TFS 2015,請參閱 LinkControlOptions 元素 (Client 和 web、TFS 2015)

自訂連結控制項不是繼承程式模型支援的功能。 如需程式模型的概觀,請參閱 自訂您的工作追蹤體驗

LinksControlOptions元素是Control元素的子項目。 透過範圍連結控制項,您可以指定篩選準則,以限制使用者可以新增的連結類型,以及使用者可以建立連結的工作專案類型。 具體而言,您會使用下列子項目來設定控制項的範圍:

  • LinkFilters:用來指定控制項中顯示的連結類型:
    • 新增 WorkItemLinkFilter 以選取可能建立至其他工作專案的連結
    • 新增 ExternalLinkFilter 以選取其他物件的連結,例如變更集、超連結或版本控制檔案
  • WorkItemTypeFilters:用來限制您可以從連結控制項連結的工作專案類型
  • 資料行:用來指定連結控制項內所列的工作專案欄位和連結類型屬性

注意

[標準 連結]索引標籤提供顯示所有連結類型的不可自訂控制項。 您可以從這個控制項檢視與工作專案相關聯的所有連結,並將工作專案連結至其他工作專案或外部物件。

變更專案的摘要

更新的 LinksControlOptions 元素引進數個新元素,並取代數個仍在與 用戶端 LinksControlOptions 元素版本搭配使用的元素。 整體來說,它是比其前置詞更簡單的語法結構。

新元素 維護的專案 已被取代的專案
- ListViewOptions
- LinkFilters
- ExternalLinkFilter
- WorkItemLinkFilter
- 資料行
- 資料行
- 篩選
- LinksControlOptions
- WorkItemTypeFilters
- ExternalLinkFilters
- WorkItemLinkFilters
- LinkColumns
- LinkColumn

下表摘要說明WebLayout區段內所使用的LinksControlOptions元素與面配置區段內所使用的元素之間的差異。 WebLayout區段支援透過入口網站顯示工作專案表單,而 [版面配置] 區段支援從入口網站顯示 TFS 2015 的工作專案表單,以及 Visual Studio 等用戶端。

控制項選項

WebLayout (WebLayout)

用戶端元素 (版面配置)

限制其他物件的連結關聯性 (非工作專案)

指定以使用LinkFilters容器元素內的ExternalLinkFilter元素包含外部連結類型
當 時 ListViewOptions GroupLinks="true" ,連結會依類型分組在 Web 表單內,依它們列在 LinkFilters 容器元素內的順序分組

指定以使用ExternalLinkFilters包含或排除外部連結類型

限制其他工作專案的連結關聯性

指定 以使用LinkFilters容器元素內的WorkItemLinkFilter元素來包含工作連結類型,並指定連結類型參考名稱
當 時 ListViewOptions GroupLinks="true" ,連結會依類型分組在 Web 表單內,依它們列在 LinkFilters 容器元素內的順序分組

使用 WorkItemLinkFilters指定以包含或排除工作連結類型,並指定連結類型參考類別

根據工作專案類型限制允許的連結

指定 以使用WorkItemTypeFilters容器元素內的Filter元素來包含工作專案類型

指定以使用WorkItemTypeFilters包含或排除工作專案類型

連結順序和群組

當 時 ListViewOptions GroupLinks="true" ,連結專案會依其連結類型分組,而工作專案依工作專案類型、擁有者和標題排列, (使用者可以按一下控制項方格顯示中的資料列欄位來變更此順序)

依類型分組並依字母順序或依資料列欄位排序的所有連結

連結資訊的複合顯示

針對每個列出的專案,連結控制項會顯示 [工作專案類型]、[識別碼]、[標題] 和 [指派給] 作為稱為 [連結 ] 的複合欄位,如下所示:
複合欄位

當連結控制項寬度小於 460 圖元時,欄位也會顯示專案的 [狀態] 和其 [最新更新] 的時間, (建立或修改專案) 。 如需詳細資訊 ,請參閱回應式設計和動態調整大小

不支援

欄位和屬性顯示

使用Columns容器元素內的Column元素,指定要在連結控制項方格內顯示的欄位

指定使用 LinkColumn 元素顯示的預設欄位,使用者可以透過用戶端表單變更資料行選項

從範圍連結控制項中,您可以執行標準 [ 連結] 頁面圖示 [連結] 頁面 所提供的相同動作,只要從功能表執行這些動作,而不是工具列即可。

  • 若要開啟相關聯的專案或物件,請按一下連結的專案
  • 若要刪除連結,請反白顯示連結,然後按一下刪除圖示刪除圖示
  • 若要連結至現有的專案,或建立並連結新的工作專案,請選取其中一個功能表選項。

選項的連結控制項功能表

回應式設計和動態調整大小

根據預設,範圍連結控制項會根據表單的寬度和配置給連結控制項的空間,動態顯示 (ViewMode=Dynamic) 。 連結控制項寬度會根據整體表單寬度按比例展開和縮小。

  • 當連結控制項寬度小於 460 圖元時,控制項會顯示為 清單。 只有名為 Link 的複合欄位 (包含工作專案類型、識別碼、標題和變更依據欄位)
  • 當連結控制項寬度等於或超過 460 圖元時,控制項會根據Column元素中指定的欄位,在Grid中顯示資訊。 顯示的資料行數目與空間相依,從至少 4 開始,每 100 個圖元增加一個資料行,直到寬度足以顯示所有定義的資料行為止。

您可以藉由在LinksControlOptions中設定 來 ViewMode 指定連結是否顯示為清單、格線或動態顯示。

核心系統程式:Agile、Scrum、CMMI—已更新為包含開發和相關工作範圍連結控制項。

Bug 工作專案表單、敏捷式程式、開發和相關連結控制項

這些控制項會出現在所有預設工作專案類型上,但下列專案除外:

  • 程式碼檢閱要求/程式碼檢閱回應
  • 意見反應要求/意見反應回應
  • 共用步驟/共用參數 (這些專案具有列出測試案例專案) 的特定控制項。

不論 Git 或 Team Foundation 版本控制 (TFVC) 存放庫,開發連結控制項都會顯示所有開發連結。 它會依設定順序顯示連結,並提供可支援使用者 從工作專案推動開發的呼叫對動作。

下列程式碼範例會指定用來撰寫開發連結控制項程式碼的語法。 此控制項支援新增指定類型的外部連結—提取要求、組建、分支、認可和其他開發相關連結,並根據開發體驗將它們分組。

<Control Type="LinksControl" Label="Development">
   <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">
      <ListViewOptions GroupLinks="false">
        </ListViewOptions>
        <LinkFilters>
               <ExternalLinkFilter Type="Build" />
               <ExternalLinkFilter Type="Integrated in build" />
               <ExternalLinkFilter Type="Pull Request" />
               <ExternalLinkFilter Type="Branch" />
                <ExternalLinkFilter Type="Fixed in Commit" />
               <ExternalLinkFilter Type="Fixed in Changeset" />
               <ExternalLinkFilter Type="Source Code File" />
               <ExternalLinkFilter Type="Found in build" />
          </LinkFilters>
    </LinksControlOptions>
</Control>

[相關工時] 連結控制項會依表單前端頁面上的設定順序顯示其他工作專案的連結。 它支援下列連結類型:重複/重複、父子系、前置任務/後續任務、相關和測試/測試/測試。

下列程式碼範例會指定用來支援 Related Work 連結控制項的語法。

<Control Type="LinksControl" Name="Related Work">
   <LinksControlOptions>
      <LinkFilters>
         <WorkItemLinkFilter Type="System.LinkTypes.Duplicate-Forward" />
         <WorkItemLinkFilter Type="System.LinkTypes.Duplicate-Reverse" />
         <WorkItemLinkFilter Type="System.LinkTypes.Hierarchy-Forward" />
         <WorkItemLinkFilter Type="System.LinkTypes.Hierarchy-Reverse" />
         <WorkItemLinkFilter Type="System.LinkTypes.Dependency" />
         <WorkItemLinkFilter Type="System.LinkTypes.Related" />
         <WorkItemLinkFilter Type="Microsoft.VSTS.Common.TestedBy-Forward" />
         <WorkItemLinkFilter Type="Microsoft.VSTS.Common.TestedBy-Reverse" />
      </LinkFilters>
      <Columns>
         <Column Name="System.State" />
         <Column Name="System.ChangedDate" />
         <Column Name="System.Links.Comment" />
      </Columns>
   </LinksControlOptions>
</Control>

針對 [測試案例] 專案,此控制項也會顯示 [共用步驟] 和 [共用參數] 連結。

您可以在單一控制項中包含工作和外部連結,同時篩選要顯示的特定工作專案類型。 這個功能強大的範圍範圍可讓您建立滿足任意數目案例的連結控制項。

例如,下列語法會建立特別設計來顯示測試結果和測試工作專案的控制項。

<Control  Name="Test" Type=""LinksControl"">
   <LinksControlOptions>
      <ListViewOptions GroupLinks="true">
        </ListViewOptions>
          <LinkFilters>
             <ExternalLinkFilter Type="Result attachment"/>
             <ExternalLinkFilter Type="Test Result "/>
             <WorkItemLinkFilter Type="Microsoft.VSTS.Common.TestedBy-Forward" />
             <WorkItemLinkFilter Type="Microsoft.VSTS.Common.TestedBy-Reverse" />
             <WorkItemLinkFilter Type="Microsoft.VSTS.TestCase.SharedStepReferencedBy" />
          </LinkFilters>
      <WorkItemTypeFilters>
         <Filter WorkItemType="Test Case" />
         <Filter WorkItemType="Test Suite" />
         <Filter WorkItemType="Test Plan" />
         <Filter WorkItemType="Shared Steps" />
      </WorkItemTypeFilters>
   </LinksControlOptions>
</Control>

若要新增或修改範圍連結控制項,請使用本主題中提供的資訊來修改特定工作專案類型的 XML 定義檔。 每個連結控制項都必須新增為WebLayout區段中類型=「LinksControl」控制項,並指定適當的LinksControlOptions

若要匯入和匯出變更,請參閱 自訂工作專案追蹤 Web 表單

LinksControlOptions 元素語法

下表描述 LinksControlOptions 元素及其子項目。 LinksControlOptions 元素的語法為:

<LinksControlOptions ViewMode="Static | Dynamic" ZeroDataExperience="Development" ShowCallToAction="true | false"   WorkItemTypeFiltersScope="project | all" >
   <ListViewOptions GroupLinks="true | false" />
   <LinkFilters>    
      <ExternalLinkFilter Type="ExternalLinkName" />
      <WorkItemLinkFilter Type="WorkItemLinkName" />
   </LinkFilters>
   <WorkItemTypeFilters>
      <Filter WorkItemType="WorkItemTypeName" />
   </WorkItemTypeFilters>
   <Columns>
      <Column RefName="FieldReferenceName"/>
   </Columns>
</LinksControlOptions>

Element

說明

資料行

必要 Columns 元素,用來指定要在連結控制項內顯示的工作專案和連結相關欄位。

列出 Column 元素的順序會定義資料列欄位顯示在控制項方格中的順序。

<Column Name="FieldName" />

若要判斷欄位的參考名稱,請參閱 工作專案欄位索引

連結相關的欄位包括: System.ExternalLinkCount, System.HyperLinkCount, System.Links.Comment, System.Links.LinkType,System.Related.LinkCount

資料行

LinksControlOptions元素的選擇性子專案。

一或多個 Column 元素的容器元素,可用來指定顯示在控制項方格中的欄位。

<Columns >
<Column Name="FieldName" /> 
</Columns >

ExternalLinkFilter

選擇性 LinkFilters 元素,用來指定外部連結類型。 透過外部連結類型,使用者可以建立與非工作專案之物件的連結關聯性,例如版本控制下的變更集、超連結和檔案。

<ExternalLinkFilter Type="ExternalLinkName" />

您可以指定的外部連結類型範例包括: Fixed in Changeset 、、 Fixed in CommitSource Code FilePull RequestWiki pageHyperlink 。 如需完整清單,請參閱 連結類型參考

重要

為了匯入目的,請使用 名稱 Workitem Hyperlink 取代 HyperlinkSource Code FileVersioned item 取代 。

指定 System.Links.IncludeAll 以包含所有外部連結類型。

注意

當您指定 System.Links.IncludeAll 時,系統會依外部連結類型依字母順序顯示所有連結。

Filter

WorkItemTypeFilters容器元素的必要子專案。 指定要包含的工作專案類型名稱,做為允許使用者從連結控制項連結至的允許類型。

<Filter WorkItemType="WorkItemTypeName"  />

您可以指定專案或專案集合內定義的任何工作專案類型,包括自訂工作專案類型。 您指定的工作專案類型通常取決於用來建立專案的程式。 如需詳細資訊 ,請參閱選擇程式

下列列出預設系統進程可用的預設工作專案類型:

敏捷

  • Bug
  • Epic
  • 功能
  • 問題
  • Task
  • 測試案例
  • 使用者劇本

基本

  • Epic
  • 功能
  • 問題
  • Task
  • 測試案例

Scrum

  • Bug
  • Epic
  • 功能
  • 阻礙
  • 產品待處理項目
  • Task
  • 測試案例

CMMI

  • Bug
  • 變更要求
  • Epic
  • 功能
  • 問題
  • 檢閱
  • 需求
  • 風險
  • Task
  • 測試案例

LinksControlOptions

當 type=「LinksControl」WebLayout元素內使用時,Control元素的必要容器子項目。

用來界定使用者可以新增至工作專案的連結類型和工作專案類型,以及要針對工作專案表單中連結關聯性清單顯示的資料行。

<LinksControlOptions ViewMode="Dynamic | Grid | List" 
ZeroDataExperience="Development" ShowCallToAction="true | false"  
WorkItemTypeFiltersScope="project" >
. . . 
</LinksControlOptions>

所有屬性都是選擇性的。 支援的屬性包括:

  • ViewMode:可以設定為 Dynamic (變更大小) 、 GridList 。 預設為 Dynamic。 這些檢視模式會對應至本主題稍早在 回應式設計和動態調整大小中所述的模式。
  • ZeroDataExperience:目前只有選項是 Development 。 此選項會導致呼叫動作連結出現以供開發使用,例如 建立分支、建立提取要求 等等。 若要深入瞭解,請參閱 驅動 Git 開發
  • ShowCallToAction:可以設定為 true ,通常為 false 。 判斷呼叫對動作是否出現在連結成品下方。

注意

目前,唯一支援的呼叫對動作體驗會在 時 ZeroDataExperience="Development" 發生。

  • WorkItemTypeFiltersScope:可以設定為 projectall 。 當設定為 project 時,使用者只能連結至目前專案範圍內的工作專案。 當設定為 all 時,使用者可以連結至集合中定義之所有專案內的工作專案。

LinkFilters

選擇性 LinkControlOptions 子項目。

使用此容器元素來指定用來設定控制項範圍的連結類型。 列出一或多個 ExternalLinkFilterWorkItemLinkFilter 元素,以指定要用來篩選連結控制項的連結類型。

<LinkFilters> 
<ExternalLinkFilter Type="ExternalLinkName" />
<WorkItemLinkFilter Type="WorkLinkTypeName" />
</LinkFilters>

ListViewOptions

選擇性 LinkControlOptions 子項目。

指定是否要根據其類型將連結分組。 如果 GroupLinks="false" (預設) ,則連結不會依其連結類型分組。

<ListViewOptions GroupLinks="true | false" />

WorkItemLinkFilter

選擇性 LinkFilters 子項目。

指定連結控制項中包含的工作特定連結類型。 使用者只能針對連結控制項中包含的連結類型,建立與其他工作專案的關聯性。

<WorkItemLinkFilter Type="WorkLinkTypeName" />

您可以指定的工作專案連結類型範例包括: System.LinkTypes.DependencySystem.LinkTypes.Hierarchy-ForwardSystem.LinkTypes.Hierarchy-Reverse 、 和 System.LinkTypes.Related

如需完整清單,請參閱 連結類型參考。 此外,您可以指定自訂連結類型的參考名稱。

指定 System.Links.IncludeAll 以包含所有工作連結類型。

當您指定 System.Links.IncludeAll 時,系統會依連結類型依字母順序顯示所有連結。

WorkItemTypeFilters

LinkFilters元素的選擇性容器子專案。 使用這個專案可指定要包含在連結控制項的工作專案類型集合。 這個專案會限制使用者可以建立連結的工作專案類型,以及將出現在連結清單中的工作專案類型。 此元素的規格取決於指定至少一個 WorkItemLinkFilter 元素。

<WorkItemTypeFilters >
<Filter WorkItemType="WorkItemTypeName" />
</WorkItemTypeFilters  >

您可以使用範圍連結控制項來支援小組和商務需求。 您可以 連結工作專案以支援可追蹤性及管理相依性。 若要深入瞭解如何自訂 Web 表單,請參閱下列主題: