Azure DevOps中如何设置规则:变更请求仅关联代码评审项才可转测试状态?
实现Change Request状态流转的关联验证方案
Azure DevOps原生的工作项状态转换规则确实只能基于链接计数(无法指定关联的工作项类型),要实现你要的需求,有两种比较实用的办法:
方法一:利用Power Automate(云版本适用)
这是最灵活的方案,不需要额外安装扩展:
- 新建一个Power Automate流,触发事件选择「当工作项被更新」,设置筛选条件:工作项类型为
change request,状态从code review变更为test。 - 添加「获取工作项链接」动作,获取该Change Request的所有关联工作项。
- 加入条件判断:检查返回的链接工作项中,是否存在类型为
code review的条目。 - 如果没有符合条件的关联项,执行以下操作:
- 将该Change Request的状态改回
code review。 - 添加一条工作项注释,说明拦截原因:「必须关联至少一个Code Review类型的工作项,才能流转到Test状态」。
- 将该Change Request的状态改回
方法二:自定义链接类型+计数规则(折中方案)
如果不想用自动化流,可以通过自定义链接类型来间接实现:
- 先在项目设置的「工作项链接类型」中,创建一个专属的链接类型,比如「关联代码评审」,设置方向为「从Change Request指向Code Review」。
- 回到Change Request的状态转换规则,设置从
code review到test的规则:要求「内部链接计数(关联代码评审)」≥1。 - 额外通过团队约定,要求所有人必须用这个专属链接类型来关联Code Review工作项,不能用默认的「关联」链接。
这个方案的缺点是依赖团队执行规范,无法强制限制链接的工作项类型,但胜在配置简单,不需要额外工具。
补充:本地服务器版的可选方案
如果用的是Azure DevOps Server(本地版),可以开发自定义的工作项控件或插件,通过代码直接验证关联工作项的类型,不过开发成本相对较高。
内容的提问来源于stack exchange,提问作者BryonyH
相关产品推荐
相关产品推荐

