VS2010 中的 TFS 中是否有一种方法可以指定特定迭代是当前迭代,然后将其返回以用于类似于@Project
工作方式的查询?如果没有,有没有办法在 TFS 工作项查询中进行子查询?
5 回答
看起来微软听了。@CurrentIteration
正在作为令牌添加。
这当然很棒。但是,当您希望针对当前 sprint 编写查询时,您可能会忽略以前 sprint 中未关闭的工作项。当您使用 时@CurrentIteration
,您可能只是指“所有已提交到 sprint 的未完成工作”。如果您过滤到单个 sprint,您将错过任何未能关闭或从之前的 sprint 前进的落后者。
考虑使用以下模式,其中“ScrumOfScrums\Release 1.0.0.0”是您的 backlog 路径,所有 sprint 路径都是该路径的子路径:
过滤积压迭代节点下的工作项,但不等于积压迭代节点。这将为您提供所有提交到 sprint 的项目。
这还将捕获您之前的冲刺中未关闭的任何项目。由于目标是在移动到下一个之前关闭 sprint 中的每个项目,因此此查询模式通常比 using 更好@CurrentIteration
,除非您要在当前迭代中查找已关闭的项目。
PS 虽然这是一个老问题,但当我搜索有关在 TFS 中查询当前迭代的信息时,这是我的热门话题。
恐怕没有这样的宏。我个人只有几个“当前迭代中的 X”团队查询,然后在每次迭代开始时编辑这些查询以指向新的迭代路径。
我将尝试为当前迭代使用标准名称,例如“当前”。此迭代的查询都将引用此名称。一旦迭代完成,我将使用包含日期的命名约定重命名它,然后将使用名称“当前”创建下一个迭代(如果它已经存在,则重命名为这个)。然后查询将返回新迭代的结果。
- 2010-49
- Current
- 2010-51
例如,我不确定以这种方式重命名迭代是否会导致任何冲突或混淆数据仓库,但这将节省在每次迭代开始时必须创建或修改一堆查询。
我很想听听有关这种方法的反馈!
在日期间隔中查询 Sprint,如下所示:
Team Project = @Project
And Work Item Type = Sprint
And Start Date <= @Today
And Finish Date >= @Today
我发现 Telerik 的免费工作项管理器为这个问题提供了一个优雅的解决方案。
只需像往常一样定义您的查询,但忽略与迭代相关的任何过滤器(请注意,这也适用于区域)。有一个名为“区域/迭代过滤器”的树视图窗格,它将根据您在那里选择的迭代(或区域)添加额外的递归过滤。
请注意,如果窗格不可见,则可以通过“查看”菜单启用它。