迭代摘要应用程序Rally SDK

Iteration Summary app Rally SDK

本文关键字:Rally SDK 应用程序 迭代      更新时间:2023-09-26

我使用带有登录密钥的Rally SDK 1.33来创建报告页面。我需要在Rally之外显示迭代摘要应用程序。我一直在尝试使用以下内容来写这篇文章,以查找有关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
       }

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

这里有一个例子,它打印出一个迭代表及其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>

本文档介绍如何在Rally之外运行应用程序在Rally之外运行应用程序不需要使用LoginKey。LoginKey功能允许在不提示登录Rally的情况下运行自定义应用程序或标准报告,因为它编码了只读用户的凭据。