РАЛЛИ: Определите выпуск родительской истории пользователя.

В Ралли мы имеем следующую структуру истории:

Родительская история 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.

https://rally1.rallydev.com/slm/webservice/1.26/hierarchicalrequirement.js?query=(Parent.Parent.FormattedID=###PUT_THE_FORMATTED_ID_HERE###)&fetch=Release&pretty=true

Если бы вы знали, что все детские истории будут в одном выпуске, вы можете поставить &pagesize=1 и посмотреть на выпуск этой единственной возвращенной истории, сохранив при этом немного пропускной способности.

Одна из странных частей этого запроса заключается в том, что вам нужно будет знать, насколько глубоки истории, которые вы хотите получить от интересующего вас родителя. В вашем примере ваша иерархия имеет две глубины, поэтому в запросе вы используете Родитель. Родитель историй, которые я пытаюсь найти.

Другие вопросы по тегам