TFS XML配置:基于选取列表选择将值复制到Azure DevOps只读字段
Azure DevOps Server(TFS)流程模板字段联动复制配置方案
你可以通过工作项类型定义(WITD)的原生规则实现需求,无需额外插件,具体操作如下:
前置准备
确认两个字段的引用名称:
- 源选取列表字段:例如
Custom.BusinessCategory(替换为你实际的字段引用名) - 目标只读字段:例如
Custom.CachedCategory(替换为你实际的字段引用名)
配置步骤
- 导出对应工作项类型的XML定义文件,定位到
FIELDS节点下的目标字段配置块 - 按以下示例修改目标字段规则,如果需要源值和目标值完全一致,直接使用字段复制规则即可,无需逐个枚举选取列表选项:
<Field name="分类缓存值" refname="Custom.CachedCategory" type="String"> <!-- 配置只读属性,禁止用户手动修改 --> <READONLY /> <!-- 直接复制源选取列表的当前值到目标字段 --> <COPY from="field" field="Custom.BusinessCategory" /> </Field>
- 如果你需要做值映射(比如源选「优先级高」,目标自动填「P0」),则通过
WHEN条件逐个配置映射关系:
<Field name="优先级映射值" refname="Custom.MappedPriority" type="String"> <READONLY /> <WHEN field="Custom.Priority" value="优先级高"> <COPY from="value" value="P0" /> </WHEN> <WHEN field="Custom.Priority" value="优先级中"> <COPY from="value" value="P1" /> </WHEN> <WHEN field="Custom.Priority" value="优先级低"> <COPY from="value" value="P2" /> </WHEN> </Field>
- 保存修改后的XML文件,导入回Azure DevOps Server,更新流程模板。
验证方法
新建对应类型的工作项,修改源选取列表的选项,目标字段会自动同步填充,且无法手动编辑修改。
注意事项
- 不要直接修改系统内置的流程模板,需要先创建派生的自定义流程模板再修改配置
- 修改完成后清除浏览器缓存再测试,避免旧的流程规则缓存导致配置不生效
- 该规则支持TFS 2017及以上、所有版本的Azure DevOps Server环境
内容的提问来源于stack exchange,提问作者Akshay H
相关产品推荐
相关产品推荐

