4

ラリーでは、次のストーリー構造があります。

親ストーリー1
|__サブストーリー1
| |__チャイルドストーリー1
| |__チャイルドストーリー2
|
|__サブストーリー2
    |__チャイルドストーリー3
    |__サブストーリー3
         | _チャイルドストーリー4

すべての親ストーリーと、それらが現在スケジュールされているリリースを表示したいと思います。親ストーリーに子ストーリーが含まれると、そのリリース値は下のストーリーに設定されているため編集できません。ラリーに1回電話するだけで、ストーリーがどのリリースで完了するかを判断する方法はありますか?

ありがとう!

4

2 に答える 2

4

親ストーリーの子のリストを取得して、それらがどのリリースに該当するかを確認したい場合は、次のクエリを使用できます。

(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を設定して、帯域幅を少し節約しながら、返された単一のストーリーのリリースを確認できます。

このクエリの奇妙な部分の1つは、取得するストーリーが関心のある親からどれだけ深いかを知る必要があることです。この例の場合、階層は2つの深さであるため、クエリではParent。取得しようとしているストーリーの親。

于 2011-09-28T17:31:23.957 に答える
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」メソッドを再帰的に呼び出すことができると思います。ちょっとした考え。私はそれをテストしていません。

于 2011-09-29T12:22:02.297 に答える