如何在Azure DevOps流程XML中通过<LinksControlOptions>按链接注释过滤链接?
能否通过流程XML的按链接注释过滤?
结论
不行。Azure DevOps流程XML中的<LinksControlOptions>元素不支持直接按链接注释值过滤链接。官方定义里该元素仅支持基于链接类型、工作项类型、工作项状态、区域/路径等维度过滤,没有提供针对链接注释的过滤条件。
可行替代方案
1. 自定义链接控件扩展
基于Azure DevOps Web Extension SDK开发自定义链接控件,在前端实现注释过滤逻辑:
- 调用REST API获取当前工作项的所有链接及对应注释
- 在控件内部筛选出符合注释规则的链接并渲染
- 将自定义控件替换工作项表单中的默认链接控件
2. 自定义字段+工作项规则间接实现
把注释条件转化为可被<LinksControlOptions>识别的字段值:
- 步骤1:在工作项类型中新增自定义字段(如
Custom.LinkTag,下拉类型,可选值设为“需展示”“需隐藏”等) - 步骤2:配置工作项规则:当添加链接时,根据注释内容自动填充该字段(例如:注释包含“合规验证”时,设置
LinkTag为“需展示”) - 步骤3:在流程XML中通过字段过滤控制链接可见性:
<LinksControlOptions> <LinkFilters> <Filter LinkType="System.LinkTypes.Dependency" FilterType="include" /> </LinkFilters> <FieldFilters> <!-- 仅展示LinkTag为"需展示"的链接 --> <Filter FieldName="Custom.LinkTag" Value="需展示" FilterType="include" /> </FieldFilters> </LinksControlOptions>
3. 后台自动化批量处理(非实时表单过滤)
用Power Automate或Azure Logic Apps构建自动化流程:
- 定期扫描目标工作项的链接列表
- 对不符合注释条件的链接,通过API标记为归档或直接移除(操作前需确认业务允许)
- 适合不需要实时在表单中过滤,仅需批量清理链接的场景
内容的提问来源于stack exchange,提问作者Subrahmanya Bhat
相关产品推荐
相关产品推荐

