如何编写查询获取当前迭代启动后移入的工作项?
获取迭代规划会后移入当前迭代的工作项方法
完全可以实现,以下是几种可行的方案:
方案一:利用字段变更记录筛选(无需额外配置)
Azure DevOps的工作项查询支持追踪字段变更的时间和内容,你可以通过以下条件组合筛选:
Iteration Path = @CurrentIterationChanged Date > [你的迭代规划会议结束的具体时间]Changed Field = Iteration Path
原理是:当工作项被移入当前迭代时,Iteration Path字段会发生变更,Changed Date会记录这个操作的时间。如果你的规划会议时间是固定规律的(比如每周一上午10点),还可以用相对时间表达式,比如Changed Date > @StartOfWeek + 10hours(注意调整时区匹配你的团队设置)。
另外补充:Azure DevOps其实支持@StartOfCurrentIteration和@EndOfCurrentIteration变量,如果你需要基于迭代开始时间筛选,可以直接使用这些变量,但如果规划会议在迭代开始之后,还是要以会议结束时间作为筛选阈值。
方案二:自定义字段辅助(适合高频需求)
如果团队经常需要这类查询,可以添加一个自定义字段(比如命名为「移入当前迭代时间」),然后配置工作项规则:当Iteration Path变更为@CurrentIteration时,自动将当前时间填充到这个自定义字段中。之后直接用以下条件筛选:
Iteration Path = @CurrentIteration移入当前迭代时间 > [规划会议结束时间]
这种方式更直观,也方便团队成员理解查询逻辑。
另外要注意:你之前用Created Date > @StartOfDay的筛选逻辑是不准确的,因为很多工作项可能是之前创建的,只是后来才被移入当前迭代,所以应该聚焦在迭代路径变更的时间而非工作项创建时间。
内容的提问来源于stack exchange,提问作者Anders Lindén
相关产品推荐
相关产品推荐

