РАЛЛИ: Определите выпуск родительской истории пользователя.
В Ралли мы имеем следующую структуру истории:
Родительская история 1
| __ Sub Story 1
| | __ Детская история 1
| | __ Детская история 2
|
| __ Sub Story 2
| __ Детская история 3
| __ Sub Story 3
|_ Детская история 4
Я хочу просмотреть все родительские истории и выпуски, на которые они в настоящее время запланированы. После того, как родительская история имеет дочерние истории, ее выпуск не подлежит редактированию, поскольку он установлен в более низкой истории. Есть ли способ определить, в каком выпуске будет закончена история, сделав всего 1 звонок в Rally?
Спасибо!
2 ответа
Самое простое решение, которое я нашел, это сделать следующее:
var epicLevelStories = {
key: 'epics',
type: 'hierarchicalrequirement',
fetch: 'FormattedID,Name,ObjectID,Release'
query: epicQuery,
order: 'FormattedID'
};
var epicLevel2Stories = {
key: 'epiclevel2',
placeholder: '${epics.children?fetch=Name,FormattedID,Parent,Release}'
};
var epicLevel3Stories = {
key: 'epiclevel3',
placeholder: '${epiclevel2.children?fetch=Name,FormattedID,Parent,Release}'
};
var queryArray = [epicLevelStories, epicLevel2Stories, epicLevel3Stories];
rallyDataSource.findAll(queryArray, doStuffWithResults);
Как только вы получите набор результатов (epiclevel#), в котором нет записей, вы знаете, что достигли нижней части дерева.
Я предполагаю, что если у epiclevel3 еще есть истории, вы можете создать новый массив запросов для следующих 3 уровней и рекурсивно вызвать тот же метод doStuffWithResults. Просто мысль. Я не проверял это.
Если вы хотите получить список детей родительской истории, чтобы увидеть, в какую версию они попадают, вы можете использовать следующий запрос.
(Parent.Parent.FormattedID = ###PUT THE FORMATTED ID HERE###)
Если вы хотите поэкспериментировать в своем браузере, попробуйте следующий URL.
Если бы вы знали, что все детские истории будут в одном выпуске, вы можете поставить &pagesize=1 и посмотреть на выпуск этой единственной возвращенной истории, сохранив при этом немного пропускной способности.
Одна из странных частей этого запроса заключается в том, что вам нужно будет знать, насколько глубоки истории, которые вы хотите получить от интересующего вас родителя. В вашем примере ваша иерархия имеет две глубины, поэтому в запросе вы используете Родитель. Родитель историй, которые я пытаюсь найти.