迭代摘要app Rally SDK

时间:2013-07-25 19:35:30

标签: javascript sdk rally

我正在使用Rally SDK 1.33和登录密钥来创建报告页面。我需要在Rally之外显示Iteration Summary应用程序。我一直在尝试使用以下内容来编写这个,以查找有关Rally迭代的信息:

    rallyDataSource.findAll({
          key: "sprints",
          type: "Iteration",
          query: '(EndDate > "today")',
          fetch: true
      }, displayIterationSummary);

displayIterationSummary函数看起来像这样:

    function displayIterationSummary(results) {
           //access "Start Date" and "End Date" attribute from results.sprints to set up "DaysRemaining" and "TotalDays"
           var panelConfig = {
               title: "Sprint Summary",
               columnKeys: ['Name', 'DaysRemaining', 'TotalDays', 'State'],
               width: 600,
               height: 300

           };
           //take appropriate steps to display the result of this

       }

我的想法是我可以使用此方法获得迭代“结束日期”和“开始日期”,然后我可以使用这些属性来设置“剩余天数”和“总天数”属性。如何在“displayIterationSummary”函数中访问这些属性?此外,如果有任何其他方式在Rally之外编写和显示迭代摘要应用程序,请告诉我!谢谢

1 个答案:

答案 0 :(得分:1)

这是一个使用StartDate,EndDate和其他一些数据打印出迭代表的示例。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Copyright (c) 2010  Rally Software Development Corp.  All rights reserved -->
<html>
<head>
    <title>Table Component Example</title>
    <meta name="Name"    content="App Example: Table of Iterations" />
    <meta name="Version" content="2010.4" />
    <meta name="Vendor"  content="Rally Lab - Nick" />
    <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.33/sdk.js"></script>
    <script type="text/javascript">

        function tableExample() {
            var rallyDataSource = new rally.sdk.data.RallyDataSource('1111', '22222',
            'false', 'true');
            function itemQuery() {
                var queryObject = {
                    key: 'it',
                    type: 'iteration',
                    fetch: 'Name,ObjectID,Project,StartDate,EndDate',
                    query:'(EndDate > Today)'
                };
                rallyDataSource.findAll(queryObject, populateTable);
            }

            function populateTable(results) {

                for (var i=0; i < results.it.length; i++) {
                    results.it[i].Difference = rally.sdk.util.DateTime.getDifference(new Date(rally.sdk.util.DateTime.
                    fromIsoString(results.it[i].EndDate)),new Date(rally.sdk.util.DateTime.
                    fromIsoString(results.it[i].StartDate, "day")));
                }

                var tableDiv = document.getElementById('aDiv');
                if(table) {
                    table.destroy();
                }
                var config = { 
                    columns:
                    [
                        {key: 'Name'},
                        {key: 'ObjectID'},
                        {key: 'StartDate'},
                        {key: 'EndDate'},
                        {key: 'Difference'},
                        {key: 'Project.Name'}
                    ]
                };
                var table = new rally.sdk.ui.Table(config);
                table.addRows(results.it);
                table.display(tableDiv);

            };
            itemQuery();
        }

        rally.addOnLoad(tableExample);
    </script>
</head>
<body>
   <div id="aDiv"></div>
</body>
</html>

要在Rally之外运行应用,例如直接在浏览器中,需要sdk.js的完整URL:

<script type="text/javascript" src="https://rally1.rallydev.com/apps/1.33/sdk.js"></script>

This document介绍了如何在Rally之外运行应用 没有必要使用LoginKey来运行Rally之外的应用程序。 LoginKey功能允许运行自定义应用程序或标准报告,而不会被提示登录到Rally,因为它具有只读用户的凭据编码。