Можете ли вы получить Rally API требования, дефекты и все задачи с помощью одного запроса - PullRequest
3 голосов
/ 08 октября 2011

В настоящее время я должен сделать несколько 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 & pagesize = 100

Для всех дефектов, которые я использую:

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

В каждом из них, если у них есть какие-либо задачи, они отображаются как:

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

Здесь нет всей необходимой мне информации, поэтому я нажимаю на каждый из _ref URL-адресов Задач, чтобы получить полную информацию о задаче.

Это добавляет до 80+ вызовов AJAX на одну загрузку страницы.

Есть ли лучший запрос, который бы заранее предоставил дополнительную информацию о Задаче?

1 Ответ

5 голосов
/ 08 октября 2011

Параметр fetch может быть сложным с запросами. Если вы укажете fetch=true, вы получите все поля, которые существуют в запрашиваемом типе (Story, Defect). Если поле также является объектом домена (например, задачи или дефект), вы получите только тонкий объект ссылки, как этот

    {
       "_ref": "/task/1234.js"  
    }

Если вы хотите, чтобы поля заполнялись на подобъектах, вам нужно указать поля, которые вы хотите показать в параметре 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"
          }]

}

Дайте мне знать, помогло ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...