定义链接控制以限制链接关系

通过自定义工作窗体可控制哪些工作项彼此链接。 具体来说,您能够控制用户可在链接控件中查看和添加的链接和工作项的类型。 例如,您可能想要向窗体中添加一个选项卡,用来帮助您管理依赖功能。 在该选项卡上,您可以添加链接控件,并限制团队成员可以从该控件查看和形成的链接关系,从而只包括指向其他功能的链接。

可通过使用 Control 元素的 LinksControl Type 特性,使用户能够在 Team Foundation 数据库中创建工作项和其他对象之间的链接关系。 然后,可使用 LinksControlOptions 子元素定义选项,用于控制团队成员可将哪些链接添加到工作项,以及他们可链接到哪些工作项类型或对象。 此外,还可以定义希望该控件中的链接列表所显示的默认列。

有关为 TFS 过程模板定义的链接限制的摘要信息,请参阅 链接控件、限制和字段引用。 有关链接类型的更多信息,请参见链接类型元素引用

主题内容

  • 指定链接控件

  • 控制链接关系

  • 限制工作项的链接关系

  • 限制变更集、超链接和其他非工作项的链接关系

  • 限制工作项类型的链接关系

  • 指定要显示的默认列

指定链接控件

可通过使用 LinksControl 选项,使用户能够在工作项窗体中添加、查看和管理链接关系。 您可以使用此控件打开、编辑、添加和移除链接。

您可对窗体进行自定义,使一个选项卡仅显示父链接和子链接,而另一个选项卡显示所有其他链接类型。 在下面的示例中,创建标记为“All Links”的选项卡,团队成员可使用该选项卡添加所有链接类型。 此外,为链接显示而显示的默认列为:ID、工作项类型、标题、指派给、状态和链接注释字段。

链接控件

添加到工作项表单的链接控件示例

<Tab Label="All Links">
   <Control Type="LinksControl" Name="All" >
      <LinksControlOptions>
         <LinkColumns>
            <LinkColumn RefName="System.ID" />
            <LinkColumn RefName="System.WorkItemType" />
            <LinkColumn RefName="System.Title" />
            <LinkColumn RefName="System.AssignedTo" />
            <LinkColumn RefName="System.State" />
            <LinkColumn LinkAttribute="System.Links.Comment" />
         </LinkColumns>
      </LinksControlOptions>
   </Control>
</Tab>

返回页首

控制链接关系

在向工作项窗体添加链接控件时,可以指定筛选器,以限制团队成员在使用该控件时可添加的链接和工作项的类型。 下表介绍了用于控制链接关系的可选子元素。

元素

描述

WorkItemLinkFilters

限制可用于链接到工作项的链接类型。

ExternalLinkFilters

限制可用于链接到非工作项类型的对象(如变更集、超链接或版本控制项)的链接类型。

WorkItemTypeFilters

限制用户可链接到的工作项类型以及在其中定义那些工作项的团队项目。

Filter

指定要包括或排除的链接类型或工作项类型。

返回页首

限制工作项的链接关系

使用 WorkItemLinkFilters 和 Filter 子元素可定义链接控件应包括或排除哪些链接类型。 使用此元素限制链接控件可选择用来与同一项目中定义的工作项形成关系的链接类型。 这些元素的语法如下所示。

<WorkItemLinkFilters FilterType="include | exclude | includeAll | excludeAll">
   <Filter LinkType="linkTypeRefName" FilterOn="reversename | forwardname" />
</WorkItemLinkFilters>

特性

描述

FilterType

必选的 WorkItemLinkFilters 特性。

定义用于筛选 Filter 元素集中提供的链接类型集的方法。 可以使用以下有效值:

  • exclude:用于禁止从 Filter 元素中列出的那些链接类型创建链接。

  • excludeAll:用于禁止所有链接类型。

  • include:用于只允许在 Filter 元素中列出的那些链接类型。

  • includeAll:用于允许从所有链接类型创建链接。

LinkType

必选的 Filter 特性。

指定链接类型的引用名称。 有关详细信息,请参阅 链接类型元素引用

FilterOn

可选的 Filter 特性。

指定要应用于链接类型的筛选器类型。 可以使用以下有效值:

  • forwardname:用于在为某链接类型定义的正向名称上筛选。

  • reversename:用于在为某链接类型定义的反向名称上筛选。

如果未指定,则使用正向名称和反向名称筛选链接类型。 如果链接类型拓扑为网络,则正向名称和反向名称相同。 有关详细信息,请参阅 链接类型元素引用

示例:排除两种工作项链接类型

通过使用以下代码示例,您可以定义一个链接控件,该控件允许除了自定义要求链接类型和系统层次结构链接类型之外的所有链接类型的链接关系。

<Control Type="LinksControl" Name="UniqueName">
   <LinksControlOptions>
      <WorkItemLinkFilters FilterType="exclude">
         <Filter LinkType="MyLinks.LinkTypes.Requirement" /> 
         <Filter LinkType="System.LinkTypes.Hierarchy" /> 
      </WorkItemLinkFilters>
      <ExternalLinkFilters FilterType="excludeAll" /> 
   </LinksControlOptions>
. . .
</Control>

返回页首

限制变更集、超链接和其他非工作项的链接关系

使用 ExternalLinkFilters 和 Filter 子元素可定义链接控件应包括或排除团队项目外部项的哪些链接类型。 这些元素的语法如下所示。

<ExternalLinkFilters FilterType="include | exclude | includeAll | excludeAll">
   <Filter LinkType="externalLinkName" />
</ExternalLinkFilters>

特性

描述

FilterType

可选的 ExternalLinkFilters 特性。

定义用于筛选 Filter 元素集中提供的链接类型集的方法。 可以使用以下有效值:

  • exclude:用于禁止从 Filter 元素中列出的那些链接类型创建链接。

  • excludeAll:用于禁止所有链接类型。

  • include:用于只允许在 Filter 元素中列出的那些链接类型。

  • includeAll:用于允许从所有链接类型创建链接。

如果未指定,则将排除所有外部工作项的链接。

LinkType

必选的 Filter 特性。

指定要排除或包含的链接类型的引用名称。 可以指定以下链接类型:

  • 在变更集中修复

  • 结果附件

  • 源代码文件

  • 测试结果

  • 工作项超链接

示例:排除所有非工作项链接

下面的示例定义一个链接控件,该控件包含工作项的所有链接类型,如相关链接和父/子链接,但排除非工作项的链接类型,如变更集、超链接和测试结果。

<Control Type="LinksControl" Name="UniqueName">
   <LinksControlOptions>
      <WorkItemLinkFilters FilterType="includeAll" /> 
      <ExternalLinkFilters FilterType="excludeAll" /> 
   </LinksControlOptions>
</Control>

下面的示例定义一个链接控件,该控件允许用户仅指定变更集链接类型并且仅链接到变更集。

<Control Type="LinksControl" Name="UniqueName">
   <LinksControlOptions>
      <WorkItemLinkFilters FilterType="excludeAll"/>
      <ExternalLinkFilters FilterType="include" /> 
         <Filter LinkType="Fixed in Changeset" />
      </ExternalLinkFilters> 
 </LinksControlOptions>
. . .
</Control>

返回页首

限制工作项类型的链接关系

使用 WorkItemTypeFilters 和 Filter 子元素可限制链接控件可链接到的工作项类型。 可以限制团队项目或工作项类型的链接关系。 这些元素的语法如下所示。

<WorkItemTypeFilters Scope=" project | all" FilterType=" include | exclude | includeAll" >
   <Filter WorkItemType="workItemTypeReferenceName" />
</WorkItemTypeFilters>

特性

描述

Scope

可选的 WorkItemTypeFilters 特性。

定义应用于在 Filter 元素集中提供的工作项类型集的筛选器范围。 可以使用以下有效值:

  • all:用于允许创建指向在 Filter 元素中指定的所有工作项类型的链接。

  • project:用于允许创建仅指向为当前项目定义的那些工作项类型的链接。

如果未指定,则允许指向所有工作项类型的链接。

FilterType

必选的 WorkItemTypeFilters 特性。

定义用于筛选 Filter 元素集中提供的链接类型集的方法。 可以使用以下有效值:

  • exclude:用于禁止在 Filter 元素中列出的工作项类型。

  • excludeAll:用于禁止所有工作项类型。

  • include:用于允许在 Filter 元素中列出的工作项类型。

  • includeAll:用于允许所有工作项类型。

WorkItemType

必选的 Filter 特性。

指定工作项类型的引用名称。

示例:限制任务工作项的链接关系

下面的示例定义一个链接控件,该控件只允许形成团队项目中定义的任务的层次关系。

<Control Type="LinksControl" Name="UniqueName">
   <LinksControlOptions>
      <WorkItemLinkFilters FilterType="include">
         <Filter LinkType="System.LinkTypes.Hierarchy" />
      </WorkItemLinkFilters>
      <ExternalLinkFilters FilterType="excludeAll"/>
      <WorkItemTypeFilters Scope ="project" FilterType="include" />
         <Filter WorkItemType="Task" />
      </WorkItemTypeFilters> 
   </LinksControlOptions>
. . .
</Control>

返回页首

指定要显示的默认列

使用 LinkColumns 和 LinkColumn 子元素可指定要在链接控件中显示的默认列。 可指定工作项字段的引用名称或链接特性。 这些元素的语法如下所示。

<LinkColumns>
   <LinkColumn RefName="reference name" | LinkAttribute=" link attribute name" />
</LinkColumns>

列出元素的顺序可定义在工作项窗体中显示列字段的顺序。 有关引用名称和链接特性的列表,请参见Visual Studio ALM 的工作项字段参考。 下面的语法定义四列显示:ID、状态、标题和链接特性注释。

<Control Type="LinksControl">
. . .
   <LinksControlOptions>
      <LinkColumns>
         <LinkColumn RefName="System.ID" />
         <LinkColumn RefName="System.State" />
         <LinkColumn RefName="System.Title" />
         <LinkColumn LinkAttribute="System.Links.Comment" />
      </LinkColumns>
   </LinksControlOptions>
</Control>

返回页首

请参见

参考

LinksControlOptions 元素

概念

链接控件、限制和字段引用

链接类型元素引用

指定工作项窗体控件