我想重新创建Rally的迭代摘要应用。因此,我希望能够在一个UI组件中显示有关缺陷,迭代等的信息。目前,我有两个表(一个显示缺陷的findall结果,一个显示迭代的findall结果)。有什么方法可以找到这两个的结果?或者是否有另一种方法可以在一个Rally UI组件中访问多个findall调用的结果(意味着一个表能够显示findall(s)的迭代结果和相关缺陷)?谢谢
答案 0 :(得分:1)
以下是AppSDK 1.33应用程序的完整示例,该应用程序进行两次查询,并根据迭代下拉列表中的选择构建包含两个不同工件,缺陷和故事的单个表:
用户故事通过迭代示例
<script type="text/javascript" src="https://rally1.rallydev.com/apps/1.33/sdk.js"></script>
<script type="text/javascript">
rallyDataSource = null;
iterDropdown = null;
function showTable(results) {
for (var i=0; i < results.stories.length; i++) {
results.stories[i].Project = results.stories[i].Project.Name
}
var tableConfig = {
columnKeys : ['FormattedID', 'Name', 'ScheduleState', 'Project' ],
columnWidths : ['80px','80px', '80px','80px']
};
var table = new rally.sdk.ui.Table(tableConfig);
table.addRows(results.stories);
table.addRows(results.defects);
table.display(document.getElementById('myTable'));
}
function onIterationSelected() {
document.getElementById('myTable').innerHTML = "";
var queryConfig = [];
queryConfig[0] = {
type : 'hierarchicalrequirement',
key : 'stories',
fetch: 'FormattedID,Name,Project,ScheduleState',
query: '(Iteration.Name = "' + iterDropdown.getSelectedName() + '")',
order: 'Rank'
};
queryConfig[1] = {
type : 'defect',
key : 'defects',
fetch: 'FormattedID,Name,Project,ScheduleState',
query: '(Iteration.Name = "' + iterDropdown.getSelectedName() + '")',
order: 'Rank'
};
rallyDataSource.findAll(queryConfig, showTable);
}
function onLoad() {
//USE VALID OIDs
rallyDataSource = new rally.sdk.data.RallyDataSource('111111',
'22222',
'false',
'true');
var iterConfig = {label : ""};
iterDropdown = new rally.sdk.ui.IterationDropdown(iterConfig, rallyDataSource);
iterDropdown.display(document.getElementById("iterationDiv"), onIterationSelected);
}
rally.addOnLoad(onLoad);
</script>
选择迭代
AppSDK 1.x文档中还有另一个placeholder query示例。 想象一个填充了所有缺陷和所有迭代的单个表有点困难 - 这两个对象太不同了,无法有意义地共享表。您提到的迭代摘要应用程序没有单独的表 - 迭代在单独的下拉字段中列出。但它有意义地结合了缺陷和测试用例的数据 - 类似于上面显示缺陷和故事的应用程序。