您可以通过一个查询获得Rally API要求,缺陷和所有任务

ris*_*raj 3 json task rally

目前,我必须进行多次GET才能收到我需要的所有信息

  • 用户素材:FormattedID,_refObjectName,State,Owner._refObjectName
  • 每个用户素材的任务:FormattedID,_refObjectName,State,Owner._refObjectName
  • 缺陷:FormattedID,_refObjectName,State,Owner._refObjectName
  • 每个缺陷的任务:FormattedID,_refObjectName,State,Owner._refObjectName

对于我使用的所有用户故事:

https://rally1.rallydev.com/slm/webservice/1.26/hierarchicalrequirement.js?query=((Project.Name =" [projectName] ")和(Iteration.Name =" [iterationName] "))&fetch = true&start = 1&页大小= 100

对于我使用的所有缺陷:

https://rally1.rallydev.com/slm/webservice/1.26/defects.js?query=((Project.Name =" [projectName] ")和(Iteration.Name =" [iterationName] "))&fetch = true&start = 1&页大小= 100

在每个中,如果他们有任何任务,他们显示为:

{
  "_rallyAPIMajor": "1",
  "_rallyAPIMinor": "26",
  "_ref": "https://rally1.rallydev.com/slm/webservice/1.26/task/9872916743.js",
  "_refObjectName": "Update XYZ when ABC",
  "_type": "Task"
}
Run Code Online (Sandbox Code Playgroud)

这没有我需要的所有信息,因此我点击了每个Tasks的_ref URL以获取完整的任务信息.

这有时每页加载80个以上的AJAX调用.

有没有更好的查询可以预先提供额外的任务信息?

小智 5

查询的fetch参数可能很棘手.如果您提供,fetch=true您将获得查询类型(故事,缺陷)上存在的所有字段.如果该字段也是域对象(如任务或缺陷),您将只获得这样的精简ref对象

    {
       "_ref": "/task/1234.js"  
    }
Run Code Online (Sandbox Code Playgroud)

如果要在子对象上填充字段,则需要指定要在fetch参数中显示的字段fetch=Name,FormattedID,Tasks.这将返回如下所示的对象:

    {
      "HierarchicalRequirement" : {
        "Name" : "StoryName",
        "FormattedID" : "S1234",
        "Tasks" : [
          {
            "_rallyAPIMajor": "1",
            "_rallyAPIMinor": "26",
            "_ref": "https://rally1.rallydev.com/slm/webservice/1.26/task/9872916743.js",
            "_refObjectName": "Update XYZ when ABC",
            "_type": "Task",
            "FormattedID" : "T1",
            "Name" : "Update XYZ when ABC"
          }]
Run Code Online (Sandbox Code Playgroud)

}

如果有帮助,请告诉我