tfs - 查找过去 30 天内分配给 X 的工作项

标签 tfs tfs-workitem wiql

我正在尝试查找在过去 30 天内分配给某个人 X 的所有工作项。
我遇到的大问题是“过去 30 天”部分。

我想过使用“ever”或“asof”关键字,但还没有找到好的答案.. 类似 WHERE [Assigned To] = 'X' AND (([Assigned To] != 'X') asof '<30daysago>') .
但这仍然不是防弹解决方案。

有什么更好的想法吗?

感谢和亲切的问候

西蒙

最佳答案

似乎仅使用 WIQL 是不可能的,但您可以接近。

关键词@Today会给你今天的日期,然后从中减去你的范围。 EVER关键字应用于 [Status]='AssignedTo'将过去 30 天的日期与 [StateChangeDate] 进行比较是您需要完成的操作。

尽可能接近 WIQL 和现有字段 :
这表示,从所有修订(状态更改)返回用户“X”曾经被分配给并且状态在过去 30 天内发生更改的记录。这基本上会让你对你的用户在上个月所做的工作有一个稍微模糊的了解。

WHERE [Microsoft.VSTS.Common.StateChangeDate] >= @today - 30  
  AND  [System.AssignedTo] EVER 'Bennett Aaron' 
    ORDER BY [System.State]

添加缺少的字段 :
您可以添加一个名为 AssignedDate 的自定义字段,该字段是在您在 Work Item Definition XML 中创建的 New->AssignedTo 工作流转换期间捕获的。您可以使用 Visual Studio 的 Team Foundation Server Power Tools 扩展来完成此操作。这将为您提供所需的内容以及 future 的其他报告选项。

TFS API
我无法帮助您解决这个问题,但我相信您可以使用 TFS API 进行查询。

我经历过的一些快速问题可以节省您在 ASOF 和 EVER 上的时间:
AsOf由于它不支持一系列日期,因此不会单独帮助您。它允许您像查询另一个日期一样进行查询。换句话说,如果您昨天忘记捕获查询的结果,您可以使用 AsOf 查询来获取昨天运行时会得到的结果。我的理解是你想查询一个基本的日期范围。
EVER可能无法按您对日期的预期工作,因为我相信它使用它测试的字段的确切值(将包括日期字段的时间戳部分)。只需确保针对状态字段而不是日期使用 EVER 关键字。

关于tfs - 查找过去 30 天内分配给 X 的工作项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179044/

相关文章:

tfs - 在两个 TFS 服务器之间同步工作

TFS 2012 + VS 2013 + Microsoft Fakes 编译问题(仅在 TFSBuild 期间)

使用 TFS 的数据库变更管理和构建过程

c# - WIQL 查询不包括 "System.AssignedTo"字段

tfs - 如何在 TFS rest API 中获取迭代路径或迭代 ID?

tfs - 管理用户项目权限

c# - 以编程方式重试失败的工作项更新

tfs - 如何将自定义工作项类型添加到 TFS2010 中的组

tfs-workitem - 将事件添加到任务工作项中的事件下拉列表