LinksControlOptions XML 元素 (Web 窗体)
Azure DevOps Server 2022 |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 |
Web 和客户端链接控件之间的差异
下表汇总了 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、标题和“分配给”作为名为 “链接 ”的复合字段,如下所示:
当链接控件宽度小于 460 像素时,该字段还会显示项目的状态及其最新更新的时间, (项的创建或最新修改) 。 有关详细信息,请参阅 响应式设计和动态大小 调整。
不支持
字段和属性显示
使用 Columns 容器元素中的 Column 元素指定要在链接控件的网格中显示的字段
指定使用 LinkColumn 元素显示的默认字段,用户可以通过客户端窗体更改列选项
通过范围链接控件添加链接
从范围链接控件中,你可以执行从标准 页提供的相同操作,只需从菜单而不是工具栏执行这些操作。
- 若要打开关联的项或对象,请单击链接项
- 若要删除链接,请突出显示该链接,然后单击
删除图标
- 若要链接到现有项,或创建并链接新的工作项,请选择其中一个菜单选项。
响应式设计和动态调整大小
默认情况下,范围链接控件根据窗体的宽度和分配给链接控件的空间动态显示 (ViewMode=Dynamic
) 。 链接控件宽度根据整体窗体宽度按比例扩展和收缩。
- 当链接控件宽度小于 460 像素时,控件显示为 列表。 只有名为 “链接 ” (的复合字段,包括工作项类型、ID、标题和“更改依据”字段)
- 当链接控件宽度等于或超过 460 像素时,该控件根据列元素中指定的字段在网格中显示信息。 显示的列数取决于空间,从至少 4 开始,每 100 像素增加一列,直到宽度足以显示所有定义的列。
可以通过在 LinksControlOptions 中设置ViewMode
链接,指定链接是显示为列表、网格还是动态显示。
默认范围链接控件的示例代码
核心系统流程(敏捷、Scrum、CMMI)已更新,包括开发和相关工作范围的链接控制。
这些控件显示在所有默认工作项类型上,但以下各项除外:
- 代码评审请求/代码评审响应
- 反馈请求/反馈响应
- 共享步骤/共享参数 (这些项目具有列出测试用例项) 的特定控件。
开发链接控件
“开发链接”控件显示所有开发链接,无论是基于 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 Commit
Source Code File
、Pull Request
、Wiki page
、 和Hyperlink
。 有关完整列表,请参阅 链接类型参考 。
重要
出于导入目的,请使用名称 Workitem Hyperlink
代替 Hyperlink
和 Source 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
(大小) 更改,Grid
也可以List
。 默认为Dynamic
。 这些视图模式对应于本主题前面在 响应设计和动态调整大小中所述的模式。 - ZeroDataExperience:目前,只有选项为
Development
. 此选项会导致调用到操作链接显示为开发,例如 创建分支、创建拉取请求 等。 若要了解详细信息,请参阅 驱动器 Git 开发。 - ShowCallToAction:可以设置为
true
,通常为false
。 确定调用操作是否显示在链接的项目下方。
注意
目前,当出现时,唯一受支持的调用到操作体验。ZeroDataExperience="Development"
- WorkItemTypeFiltersScope:可以设置为
project
或all
。 When set toproject
, users can only link to work items within the current project scope. When set toall
, users can link to work items within all projects defined in the collection.
LinkFilters
可选 LinksControlOptions 子元素。
使用此容器元素指定用于限定控件范围的链接类型。 列出一个或多个 ExternalLinkFilter 或 WorkItemLinkFilter 元素,以指定要用于筛选链接控件的链接类型。
<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-Forward
和System.LinkTypes.Hierarchy-Reverse
System.LinkTypes.Related
。
有关完整列表,请参阅 链接类型参考。 此外,还可以为自定义链接类型指定引用名称。
指定 System.Links.IncludeAll
以包括所有工作链接类型。
指定
System.Links.IncludeAll
时,系统按链接类型按字母顺序显示所有链接。
WorkItemTypeFilters
LinkFilters 元素的可选容器子元素。 使用此元素可指定要包含在链接控件中的工作项类型集。 此元素限制用户可以创建指向的工作项类型以及链接列表中将显示的链接。 此元素的规范取决于指定至少一个 WorkItemLinkFilter 元素。
<WorkItemTypeFilters >
<Filter WorkItemType="WorkItemTypeName" />
</WorkItemTypeFilters >
相关文章
使用范围链接控件来支持团队和业务需求。 链接 工作项以支持可跟踪性和管理依赖项。 若要详细了解如何自定义 Web 窗体,请参阅以下主题: