2

我正在尝试汇总有关我的用户故事的看板状态的一些信息。如果查询 PifTeam 项目,我会得到与其关联的 UserStories 的汇总集合。

示例查询:

https://rally1.rallydev.com/slm/webservice/1.40/portfolioitem/pifteam/99999999999.js

但是,我必须在 UserStories 集合上运行一个循环,分别查询每个集合以获取我需要的信息。这可能会导致大量 Web 服务调用。

有没有办法在原始 pifteam 查询中返回完整的分层需求信息,以便只有一个返回所有子对象的 web 服务调用?我阅读了 webservice api 并尝试使用 fetch 参数但没有成功。

4

2 回答 2

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:"HierarchicalRequirement" 以将其限制为 Stories。我指定了 Children:null,这意味着您只会返回叶子故事。__At:"current" 子句获取当前树和值。请记住,它是“回溯”API,因此您可以在历史上的任何时刻检索对象的状态。__At:"current" 表示获取当前值和树。

请注意,LBAPI 从系统中的当前值延迟几秒到几分钟不等。通常它大约落后 30 秒。您可以通过检查响应中的 ETLDate 字段来查看它落后了多远。

可以在此处找到有关 LBAPI 的详细信息。请注意,现在几乎所有 Rally 客户都可以使用 LBAPI 预览版。仍有许多客户尚未开启。判断它是否适用于您的订阅的最佳方法是尝试查询。

于 2012-12-29T01:32:49.937 回答
1

此功能将在 WSAPI 2.0 中禁用,但在 1.x 版本中将继续可用。也就是说,您应该能够像这样使用获取故事中的字段:

/pifteam/9999.js?fetch=UserStories,FormattedID,Name,PlanEstimate,KanbanState

即使根对象类型没有这些字段,Fetch 也会对子对象上指定的字段进行水合。因此,通过获取 UserStories,返回的集合将填充故事,每个故事都包含 FormattedID、Name、PlanEstimate 和 KanbanState 字段。

于 2012-12-29T01:41:57.430 回答