Azure DevOps集合设置规则:如何实现两个字段的比较校验?
Azure DevOps实现字段比较校验:完成工时超原始估算时必填原因字段
由于Azure DevOps默认规则不支持跨字段数值比较,你可以通过以下几种方式实现需求:
方法1:借助Work Item Rules扩展(推荐)
- 安装支持跨字段逻辑的Work Item Rules类扩展(可在Azure DevOps Marketplace找到官方或第三方可靠版本)
- 配置步骤:
- 进入集合设置 → 过程 → 选中目标过程 → 编辑对应的工作项类型(如任务、用户故事)
- 切换到「规则」选项卡,点击「添加规则」
- 选择触发条件为「当字段值满足特定条件」,设置
completed字段大于original estimate字段 - 添加执行动作:将
reason字段设置为「必填」
方法2:自定义XML过程定义(Hosted XML/本地部署XML模型)
如果你的项目使用可自定义的XML过程模型:
- 导出目标工作项类型的XML定义文件
- 在XML的
Rules节点下添加自定义规则片段,示例:
<Rule Id="CompletedWorkExceedsOriginalEstimateRule"> <Conditions> <Condition Field="Microsoft.VSTS.Scheduling.CompletedWork" Operator="GreaterThan" Value="[Microsoft.VSTS.Scheduling.OriginalEstimate]" /> </Conditions> <Actions> <Action Type="MakeRequired" Field="System.Reason" /> </Actions> </Rule>
- 将修改后的XML重新导入到Azure DevOps集合中
方法3:自动化流程校验(Power Automate/Azure Functions)
通过自动化工具监听工作项变更:
- 创建流程,触发事件为「当工作项被更新」
- 添加步骤:获取工作项的
completed和original estimate字段值并进行比较 - 若
completed值大于original estimate,检查reason字段是否为空;若为空,可发送通知、标记工作项状态或通过API强制设置必填约束
内容的提问来源于stack exchange,提问作者Prince Jose
相关产品推荐
相关产品推荐

