能否在ADO中实现当前迭代内创建工作项的动态查询?
动态筛选当前迭代内创建的Bug解决方案
核心思路是结合迭代的动态时间范围变量,既关联当前迭代,又限定Bug的创建时间落在迭代的起止日期内,彻底避免手动更新日期的麻烦。
Azure DevOps 实现方式
可视化查询编辑器操作
- 添加两个核心筛选条件:
迭代路径=@CurrentIteration(系统内置变量,自动指向当前正在进行的迭代)创建日期>=@CurrentIterationStartDate且创建日期<=@CurrentIterationEndDate(自动获取当前迭代的起止时间,完全不用手动输入日期)
这样就能精准筛选出当前迭代期间新建的Bug,不会包含那些之前迭代创建、只是当前迭代才排期处理的旧Bug。
WIQL 语句写法
如果习惯用工作项查询语言,直接调用系统变量即可:
SELECT [System.Id], [System.Title], [System.State], [System.CreatedDate] FROM WorkItems WHERE [System.WorkItemType] = 'Bug' AND [System.IterationPath] = @CurrentIteration AND [System.CreatedDate] >= @CurrentIterationStartDate AND [System.CreatedDate] <= @CurrentIterationEndDate ORDER BY [System.CreatedDate] DESC
Jira 实现方式
用JQL(Jira查询语言)结合内置的迭代时间函数就能搞定:
type = Bug AND created >= startOfSprint(currentSprint()) AND created <= endOfSprint(currentSprint())
currentSprint()自动识别当前正在进行的迭代startOfSprint/endOfSprint自动抓取该迭代的起止时间
如果需要限定仅显示活跃迭代的结果,还可以叠加sprint in openSprints()条件。
为什么之前的方法无效?
只选「当前迭代」条件时,返回的是被分配到当前迭代的所有Bug,其中包含大量旧Bug(比如之前迭代创建、当前迭代才安排处理的)。必须叠加「创建时间在迭代时间范围内」的条件,再用系统内置的动态变量替代固定日期,才能实现完全无需手动更新的效果。
内容的提问来源于stack exchange,提问作者Jovan Fritsch
相关产品推荐
相关产品推荐

