Я пытаюсь выполнить запрос всех задач с конкретной итерации с помощью инструментария python для ралли REST API. Итерация будет выбрана во время выполнения.Rally python REST: Запросить все задания из выбранной итерации
Однако мне не удалось настроить правильный запрос. Я чувствую, что мне не хватает чего-то маленького, но важного здесь.
Это код:
query_criteria = 'Iteration.Name = "2014 november"'
response = rally.get('Task', fetch=True, query=query_criteria)
if response.errors:
sys.stdout.write("\n".join(response.errors))
sys.exit(1)
for Task in response:
if getattr(Task,"Iteration"):
print "%s %s" % (Task.Name,Task.Iteration.Name)
Он получит 0 строк в ответ.
Если я удалю , query=query_criteria
и выберем все задачи, то я вижу, что есть задачи, где значение Task.Iteration.Name составляет 2014 ноября.
Запрос не дает ошибки, поэтому я предполагаю, что значения связанных объектов (task-> Iteration) могут быть включены в запрос. Тем не менее, я получаю 0 строк в ответе.
Возможно ли, что некоторые задачи не привязаны к итерации?
Одним из решений было бы получить все задачи, а затем отфильтровать их впоследствии. Но это кажется грязным.
'https://community.rallydev.com/slm/webservice/v2.0/Task?fetch=FormattedID,State,Name&query=(Iteration.Name%20=%20%222014%20november%22) & order = FormattedID & pagesize = 200 & start = 1' Дал мне 0 результатов. Как и интерактивные поля запросов на странице документа wsapi. Пробовал свой код (заменил имя итерации на «2014 ноября») и получил 0 квалификационных заданий. Также проверяется ссылкой итерации. Опять то же самое. Так что я потерял. Может ли это быть ограничением для пользователей сообщества? Не кажется правдоподобным, но у меня все идеи. – user2451040
Если ваш запрос WS API возвращает 0 результатов, это не имеет никакого отношения к коду python. Это означает, что либо артефакты, запланированные для итерации 2014 ноября, либо имена итераций написаны неправильно (например, дополнительное или отсутствующее пространство между 2014 и новеем). Запрос по iteration.ObjectID (если вы не сделали это уже, когда вы сказали по итерации ref), и посмотрите, получаете ли вы ожидаемые результаты. Чтобы получить идентификатор Object Итерации, перейдите на страницу сведений об этом и используйте последнюю строку чисел в URL-адресе, например https://rally1.rallydev.com/ #/1234/detail/iteration/7890 ObjectID - 7890. – nickm