我正在尝试汇总有关我的用户故事的看板状态的一些信息。如果查询PifTeam项,我会得到一个与之关联的UserStories的汇总集合。
示例查询:
https://rally1.rallydev.com/slm/webservice/1.40/portfolioitem/pifteam/99999999999.js
然而,我必须在UserStories集合上运行一个循环,单独查询每个循环以获取我需要的信息。这可能会导致大量的Web服务调用。
有没有办法在原始pifteam查询中返回完整的层次结构要求信息,以便只有一个webservice调用返回所有子对象?我阅读了webservice api并尝试使用fetch参数但没有成功。
答案 0 :(得分:1)
无法从Rally的标准Web服务API(WSAPI)中执行此操作,但您可以使用新的Lookback API(LBAPI)。查询看起来像这样:
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/<ObjectID_for_Workspace>/artifact/snapshot/query.js?find={__At:"current",_TypeHierarchy:"HierarchicalRequirement",Children:null,_ItemHierarchy:<ObjectID_for_PortfolioItem>}&fields=["Name"]
填写Workspace和PortfolioItem的ObjectID。 _ItemHierarchy字段将跨越工作项类型边界,并从PortfolioItems向下一直到Story层次结构一直向下到Defects甚至Tasks,所以我添加了_TypeHierarchy:&#34; HierarchicalRequirement&#34;把它限制在故事中。我已经指定了Children:null,这意味着你只能回到叶子故事。 __At:&#34;当前&#34;子句获取当前树和值。请记住,它是&#34; Lookback&#34; API,因此您可以在历史记录中的任何时刻检索对象的状态。 __at:&#34;电流&#34;说得到当前值和树。
注意,LBAPI从系统中的当前值延迟了几秒到几分钟。通常它落后约30秒。您可以通过检查响应中的ETLDate字段来了解它背后的距离。
可以找到有关LBAPI的详细信息here。请注意,现在几乎所有Rally客户都可以预览LBAPI。仍然有许多客户尚未开启。判断它是否适用于您的订阅的最佳方式是尝试查询。
答案 1 :(得分:1)
此功能将在WSAPI 2.0中禁用,但将继续在1.x版本中提供。也就是说,您应该可以使用这样的方式获取故事中的字段:
/pifteam/9999.js?fetch=UserStories,FormattedID,Name,PlanEstimate,KanbanState
即使根对象类型没有这些字段,Fetch也会对子对象上指定的字段进行水合。因此,通过获取UserStories,返回的集合将填充故事,每个故事都包含FormattedID,Name,PlanEstimate和KanbanState字段。