链接ControlOptions XML 元素 (Web 窗体)

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

通过将工作项链接到其他对象,可以跟踪随时间推移所做的相关工作、依赖项和更改。 使用更新的 Control 元素,可以通过设置 type=“LinksControl”,在 Web 门户的工作项窗体中指定作用域链接控件。

重要

本文适用于本地 XML (TFS 2017 及更高版本的项目自定义) 进程模型。 对于 TFS 2015,请参阅 LinksControlOptions 元素 (客户端和 Web,TFS 2015)

自定义链接控件不是继承过程模型支持的一项功能。 有关流程模型的概述,请参阅 自定义工作跟踪体验

LinksControlOptions 元素是 Control 元素的子元素。 使用范围链接控件,可以指定筛选器,这些筛选器限制用户可以添加的链接类型和用户可以创建链接的工作项的类型。 具体而言,使用以下子元素来限定控件的范围:

  • LinkFilters:用于指定控件中显示的链接类型:
    • 添加 WorkItemLinkFilter 以选择可能创建到其他工作项的链接
    • 添加 ExternalLinkFilter 以选择指向其他对象的链接,例如更改集、超链接或版本控制文件
  • WorkItemTypeFilters:用于限制可从链接控件链接到的工作项的类型
  • :用于指定链接控件中列出的工作项字段和链接类型属性

注意

标准 链接 选项卡 提供显示所有链接类型的不可自定义控件。 在此控件中,可以查看与工作项关联的所有链接,并将工作项链接到其他工作项或外部对象。

更改内容的摘要

更新后的 LinksControlOptions 元素引入了多个新元素,并弃用了客户端 LinksControlOptions 元素版本仍在使用的多个元素。 总的来说,它比前身更简单的语法结构。

新元素 维护的元素 已弃用的元素
- ListViewOptions
- LinkFilters
- ExternalLinkFilter
- WorkItemLinkFilter
- 列
- 列
- 筛选器
- LinksControlOptions
- WorkItemTypeFilters
- ExternalLinkFilters
- WorkItemLinkFilters
- LinkColumns
- LinkColumn

下表汇总了 WebLayout 节中使用的 LinksControlOptions 元素与布局节中使用的元素之间的差异。 WebLayout 部分支持通过 Web 门户显示工作项表单,而“布局”部分支持显示来自 TFS 2015 的 Web 门户的工作项表单以及Visual Studio等客户端的工作项表单。

控件选项

Web 门户元素 (WebLayout)

客户端元素 (布局)

限制与其他对象的链接关系, (非工作项)

指定使用 LinkFilters 容器元素中的 ExternalLinkFilter 元素包含外部链接类型
ListViewOptions GroupLinks="true"链接按类型分组在 Web 窗体中时,链接按在 LinkFilters 容器元素中列出的顺序进行分组

指定使用 ExternalLinkFilters 包含或排除外部链接类型

限制指向其他工作项的链接关系

指定在 LinkFilters 容器元素中使用 WorkItemLinkFilter 元素包含工作链接类型,并指定链接类型引用名称
ListViewOptions GroupLinks="true"链接按类型分组在 Web 窗体中时,链接按在 LinkFilters 容器元素中列出的顺序进行分组

指定使用 WorkItemLinkFilters 包含或排除工作链接类型,指定链接类型引用类别

根据工作项类型限制允许的链接

指定使用 WorkItemTypeFilters 容器元素中的 Filter 元素包含工作项类型

指定使用 WorkItemTypeFilters 包含或排除工作项类型

链接顺序和分组

ListViewOptions GroupLinks="true"链接项按链接类型分组时,工作项按工作项类型、所有者和标题 (用户可以通过单击控件网格显示) 中的列字段来更改此顺序

按类型分组和按列字段排序的所有链接

链接信息的复合显示

对于每个列出的项,链接控件将显示“工作项类型”、“ID”、“标题”和“分配给”作为名为 “链接 ”的复合字段,如下所示:
Composite field

当链接控件宽度小于 460 像素时,该字段还显示项的状态及其最新更新的时间, (项的创建或最新修改) 。 有关详细信息,请参阅 响应式设计和动态调整大小

不支持

字段和属性显示

使用 Columns 容器元素中的 Column 元素指定要在链接控件网格中显示的字段

指定要使用 LinkColumn 元素显示的默认字段,用户可以通过客户端窗体更改列选项

从范围链接控件中,可以执行从标准 Links page icon 链接页提供的相同操作,只需从菜单而不是工具栏执行这些操作。

  • 若要打开关联的项或对象,请单击链接项
  • 若要删除链接,请突出显示它并单击“删除” delete icon 图标
  • 若要链接到现有项,或创建并链接新的工作项,请选择其中一个菜单选项。

Links control menu of options

响应式设计和动态调整大小

默认情况下,作用域内的链接控件根据窗体的宽度和分配给链接控件的空间动态 (ViewMode=Dynamic) 。 链接控件宽度根据整体窗体宽度按比例展开和收缩。

  • 当链接控件宽度小于 460 像素时,该控件显示为 列表。 只有名为 “链接 ” (的复合字段,其中包含“工作项类型”、“ID”、“标题”和“更改依据”字段)
  • 当链接控件宽度等于或超过 460 像素时,控件将根据元素中指定的字段在网格中显示信息。 显示的列数与空间相关,从至少 4 开始,每 100 像素增加一列,直到宽度足以显示所有定义的列。

可以通过在 LinksControlOptions 中设置ViewMode链接来指定链接显示为列表、网格还是动态显示。

核心系统流程(敏捷、Scrum、CMMI)已更新,包括开发和相关工作范围的链接控制。

Bug work item form, Agile process, Development and Related links controls

这些控件显示在所有默认工作项类型上,但以下各项除外:

  • 代码评审请求/代码评审响应
  • 反馈请求/反馈响应
  • 共享步骤/共享参数 (这些项目具有列出测试用例项) 的特定控件。

开发链接控件显示所有开发链接,无论是基于 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>

元素

说明

用于指定要在链接控件中显示的工作项和链接相关字段的必需 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 File 代替 Versioned item

指定 System.Links.IncludeAll 以包括所有外部链接类型。

注意

指定 System.Links.IncludeAll时,系统按外部链接类型按字母顺序显示所有链接。

Filter

WorkItemTypeFilters 容器元素的必需子元素。 指定要作为允许用户从链接控件链接到的工作项类型的名称。

<Filter WorkItemType="WorkItemTypeName"  />

可以指定项目或项目集合中定义的任何工作项类型,包括自定义工作项类型。 通常,指定的工作项类型取决于用于创建项目的过程。 有关详细信息 ,请参阅“选择过程 ”。

下面列出了基于默认系统进程提供的默认工作项类型:

敏捷

  • Bug
  • 长篇故事
  • 功能
  • 问题
  • 任务
  • 测试用例
  • 用户情景

基本

  • 长篇故事
  • 功能
  • 问题
  • 任务
  • 测试用例

Scrum

  • Bug
  • 长篇故事
  • 功能
  • 障碍
  • 产品积压工作(backlog)项
  • 任务
  • 测试用例

CMMI

  • Bug
  • 更改请求
  • 长篇故事
  • 功能
  • 问题
  • 检查
  • 要求
  • 风险
  • 任务
  • 测试用例

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

可选 LinksControlOptions 子元素。

使用此容器元素指定用于限定控件范围的链接类型。 列出一个或多个 ExternalLinkFilterWorkItemLinkFilter 元素,以指定要用于筛选链接控件的链接类型。

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

ListViewOptions

可选 LinksControlOptions 子元素。

指定是否根据其类型对链接进行分组。 如果 GroupLinks="false" (默认) ,则链接类型不会按链接类型分组。

<ListViewOptions GroupLinks="true | false" />

WorkItemLinkFilter

可选 LinkFilters 子元素。

指定链接控件中包含的特定于工作的链接类型。 用户只能为链接控件中包含的这些链接类型创建与其他工作项的关系。

<WorkItemLinkFilter Type="WorkLinkTypeName" />

可以指定的工作项链接类型的示例包括:System.LinkTypes.Dependency、、System.LinkTypes.Hierarchy-ForwardSystem.LinkTypes.Hierarchy-ReverseSystem.LinkTypes.Related

有关完整列表,请参阅 链接类型参考。 此外,还可以为自定义链接类型指定引用名称。

指定 System.Links.IncludeAll 以包括所有工作链接类型。

指定 System.Links.IncludeAll时,系统按链接类型按字母顺序显示所有链接。

WorkItemTypeFilters

LinkFilters 元素的可选容器子元素。 使用此元素可指定要包含在链接控件中的工作项类型集。 此元素限制用户可以创建指向的工作项类型以及链接列表中将显示的链接。 此元素的规范取决于指定至少一个 WorkItemLinkFilter 元素。

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

使用范围链接控件来支持团队和业务需求。 链接 工作项以支持可跟踪性和管理依赖项。 若要详细了解如何自定义 Web 窗体,请参阅以下主题: