问题描述
我需要获取例如直接使用REST API在Rally中的项目用户故事。
我可以使用以下URI获取项目本身:
https://rally1.rallydev.com/slm/webservice/v2.0/Project/1234567890
这会给我一个JSON文档,例如22个“孩子”。但据我所知,“孩子”实际上是“子项目”。
如何查询项目本身?
我可以从此URI中获取项目本身
https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/0987654321
...但是如何从“项目”转到项目?
根据文档,我可以使用如下语法查询项目的URI:
https://rally1.rallydev.com/slm/webservice/v2.0/project?query=QueryString&order=OrderString
我的问题是:如何构造QueryString
?我很难找到有关格式和语法的任何文档。
任何帮助将不胜感激:-)
/ Jesper
解决方法
有一个简单的方法: 假设您每个季度都有不同的版本,那么您可以提及版本以及您要查询的项目。大多数情况下,您也可以从 URL 栏中记下项目 ID,但我们也有 Rally API 来获取我在下面提到的项目 ID
https://rally1.rallydev.com/slm/webservice/1.29/subscription.js?fetch=Workspaces,Name,Projects&pretty=true
您可以点击上面的 api 并检查项目键,在该键下所有项目都将与“_ref”一起列出(最后将附加项目 ID)。现在回到我们的主要问题,在下面的查询中设置此 ID(就像我将其设置为 12345678。)
https://rally1.rallydev.com/slm/webservice/v2.0/HierarchicalRequirement?query=((Release.Name = "Q1A2020") and (Project = "/project/12345678"))&fetch=Tasks,FormattedID,TotalResultCount,_ref,pagesize=20
宾果游戏!!你会得到想要的结果。如果您遇到 APIS 问题或需要缺陷和所有信息,请告诉我。
,这是一个很老的问题,但也许您仍在寻求帮助。
如果要加载用户故事数据,则需要使用此端点:
https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement?
然后,您在提供查询字符串方面处于正确的轨道。构造查询可能非常棘手,尤其是当您有多个过滤条件时。在您的情况下,您将要根据用户故事所属的项目来过滤它们。最好使用项目的ref作为过滤器。引用只是“ / project /”,后跟对象ID。
因此查询最终看起来像这样:
(project = "/project/123456789")
将该查询添加为URL中的参数可以使我们做到这一点:
https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement?query=(project = "/project/123456789")
只需将项目ID替换为您感兴趣的项目,它便会为您提供所需的用户故事。请注意,默认页面大小为20。您可以通过在URL中添加pageSize参数来增加该大小。