使用Rally SDK 1.33创建一个包含两个findall调用结果的表

时间:2013-08-12 18:49:46

标签: javascript html sdk rally

我想重新创建Rally的迭代摘要应用。因此,我希望能够在一个UI组件中显示有关缺陷,迭代等的信息。目前,我有两个表(一个显示缺陷的findall结果,一个显示迭代的findall结果)。有什么方法可以找到这两个的结果?或者是否有另一种方法可以在一个Rally UI组件中访问多个findall调用的结果(意味着一个表能够显示findall(s)的迭代结果和相关缺陷)?谢谢

1 个答案:

答案 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示例。 想象一个填充了所有缺陷和所有迭代的单个表有点困难 - 这两个对象太不同了,无法有意义地共享表。您提到的迭代摘要应用程序没有单独的表 - 迭代在单独的下拉字段中列出。但它有意义地结合了缺陷和测试用例的数据 - 类似于上面显示缺陷和故事的应用程序。