在 Rally Webservices API 中,如果我想遍历 Story 层次结构,则有必要对父故事进行查询,然后从返回的 Stories 中获取 Children 集合,然后递归查询每个 Child,直到流程到达叶节点结果。
问题 - 通过在 Lookback API 中使用单个查询,有没有一种方便的方法可以在不迭代的情况下做到这一点?
在 Rally Webservices API 中,如果我想遍历 Story 层次结构,则有必要对父故事进行查询,然后从返回的 Stories 中获取 Children 集合,然后递归查询每个 Child,直到流程到达叶节点结果。
问题 - 通过在 Lookback API 中使用单个查询,有没有一种方便的方法可以在不迭代的情况下做到这一点?
这是 Lookback API 的最佳功能之一。
假设你有这个层次结构:
任务 12 的文档如下所示:
{
ObjectID: 12,
_Type: "Task",
WorkProduct: 777,
_ItemHierarchy: [444, 555, 666, 777, 12],
...
}
因此,当您针对具有数组值(如_ItemHierarchy)的字段提交查询时,它将匹配数组的任何成员。
要获取从 444 下降的所有内容,您的 find 子句将包括_ItemHierarchy: 444
. 看看它如何匹配_ItemHierarchy
任务 12 的值?
要获得从 333 下降的所有内容,您的 find 子句将包括_ItemHierarchy: 333
. 这也与任务 12 匹配。
要仅获取来自 444(所有故事)的故事,您的 find 子句将包括:
_ItemHierarchy: 444,
_Type: "HierarchicalRequirement"
要获得叶子Stories 只需添加子句Children: null
。
_ItemHierarchy 也一直到 PortfolioItems。
_ItemHierarchy
已编入索引,因此这些查询应该非常有效。