0

我需要一个 TFS 查询以使 EPIC 处于关闭状态,但任何相关功能或用户故事或任务未关闭。如果功能关闭但用户故事或任务未关闭,即使它也应该工作。用户故事已关闭,但任务未关闭。

可以使用 TFS 2013 中的单个 TFS 查询来完成吗?

我能够在用户故事未关闭的情况下关闭功能(或)用户故事已关闭但任务仍未通过 TFS 查询关闭。

我可以在单个 TFS 查询中执行 EPIC(已关闭)-> 功能(<> 已关闭)-> 用户故事(<>已关闭)-> 任务(<>已关闭)吗?

4

3 回答 3

1

我可以使用以下查询获取数据。

使用“工作项和直接链接”类型的查询。

顶级工作项:工作项类型“In”功能、用户故事和区域和迭代路径。AND 状态 = 关闭

链接工作项的过滤器:工作项类型“在”用户故事、任务和状态 <> 已关闭

过滤器选项:仅返回具有匹配链接的项目返回选定的链接类型:子

我能够获得功能(已关闭)-> 用户故事(<>已关闭)-> 或任务(<>已关闭)和用户故事(已关闭)但任务(<>已关闭)和功能(任何状态)的数据。

将尝试使用更多级别。

于 2019-11-14T10:25:56.437 回答
0

不,它无法做到这一点。

首先,您需要使用树查询(通过选择工作项树)来查看工作项的多层嵌套列表。

要查找链接的子项,您需要先选择匹配顶级工作项。这是最接近的查询。

在此处输入图像描述

但是,正如您已经指出的那样。此查询将判断所有子工作项是否已关闭。将返回那些未关闭的子工作项。有点儿

EPIC(已关闭)-> 功能(<> 已关闭)-> 或用户故事(<>已关闭)-> 或任务(<>已关闭)

但实际上你需要的是:

EPIC(已关闭)-> 功能(<> 已关闭)->用户故事(<>已关闭)->任务(<>已关闭)

如果整个树的子工作项关闭,则不返回树。

在单个 TFS 查询中不可用

于 2019-11-14T03:14:11.883 回答
0

也没有内置的方法可以做到这一点。工作项的状态完全独立于所有其他工作项,包括链接的工作项。

目前管理它的一些解决方法:

  1. 从服务器端:您可以向 tfs 添加一个插件,以更改工作项。一个很好的例子是TFSAggregator。此解决方案的问题在于,它仅在保存后才更改工作项。所以用户仍然可以关闭孩子,但服务器会重新打开它。换句话说,您无法阻止关闭,但您可以在检测到不允许的操作后立即重新打开。

  2. 使用客户端 API 来监控父子关系。例如,EPIC 功能-> 和用户故事-> 任务。如果孩子没有关闭,那么不要关闭父母。树上一层又一层。相同的代码可能有助于您的参考:Close a Work Item only if Child Work items are closed

于 2019-11-14T10:09:19.847 回答