2

在 Rally Webservices API 中,如果我想遍历 Story 层次结构,则有必要对父故事进行查询,然后从返回的 Stories 中获取 Children 集合,然后递归查询每个 Child,直到流程到达叶节点结果。

问题 - 通过在 Lookback API 中使用单个查询,有没有一种方便的方法可以在不迭代的情况下做到这一点?

4

1 回答 1

2

这是 Lookback API 的最佳功能之一。

假设你有这个层次结构:

  • 第444话
    • 第555话
      • 第666话
        • 缺陷 777(通过要求字段)
          • 任务 12
        • 任务 13
    • 第888话

任务 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已编入索引,因此这些查询应该非常有效。

于 2012-05-23T23:35:03.057 回答