如何在Azure中创建查询跟踪剩余工作字段24小时内变化
Azure DevOps 24小时工时消耗追踪查询方案
为什么@StartOfDay不好用
@StartOfDay是取当天0点作为起始点,如果你在当天晚些时候查询,它覆盖的是0点到当前时间的区间(不足24小时);如果在凌晨查询,又会包含前一天大部分时间的数据,没法精准匹配“最近24小时”的需求。要严格锁定过去24小时的字段变更,得用相对时间计算或者网页端的专属筛选。
WIQL查询写法(精准24小时)
直接用DATEADD函数计算当前时间往前推24小时的区间,同时限定目标冲刺和剩余工作字段的变更:
SELECT [System.Id], [System.Title], [System.AssignedTo], [System.WorkItemType], [Microsoft.VSTS.Scheduling.RemainingWork], [System.History] FROM workitemHistory WHERE -- 替换成你的目标冲刺路径 [System.IterationPath] = 'YourProject\TargetSprint' -- 只追踪剩余工作字段的变化 AND [System.FieldName] = 'Microsoft.VSTS.Scheduling.RemainingWork' -- 精准锁定过去24小时的变更记录 AND [System.ChangedDate] >= DATEADD(hour, -24, GETDATE())
如果需要按自然日(比如昨天0点到今天0点)统计,把时间条件换成:
AND [System.ChangedDate] >= @Today - 1 AND [System.ChangedDate] < @Today
网页端可视化查询操作
不想写WIQL的话,直接在Azure DevOps网页端创建查询:
- 新建查询时选择历史类型(必须选这个才能看字段变更记录)
- 添加筛选条件:
- 迭代路径:选择你要追踪的目标冲刺
- 字段名称:选择“剩余工作”
- 更改日期:在下拉选项里选在过去24小时内
这样就能直接得到指定冲刺里,过去24小时内剩余工作有变化的所有任务记录,通过对比变更前后的剩余工作数值,就能算出每个成员消耗的工时。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

