0

我正在尝试创建发布趋势图表,但如果我在集会应用程序内运行代码与使用有效登录密钥在集会之外运行应用程序,我会得到不同的结果。下面是有问题的代码。

在让图表正常工作后,我希望能够显示一些数据子集,类似于 Rally 中的实际 ReleaseDefectTrend 图表,它可以让您指定 XXX 天/周/月/等。图表的配置是否有允许您执行此操作的设置。

提前致谢!

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            <!-- Copyright (c) 2011  Rally Software Development Corp.  All rights reserved -->
            <html>
            <head>
            <!-- <script type="text/javascript" src="/apps/1.32/sdk.js?debug=false"></script> -->
            <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.32/sdk.js?loginKey=myvalidloginkeyhere"></script>
            <script type="text/javascript">
                function onLoad() {

            //alert('ProjOID = ' + __PROJECT_OID__);
                   /
                   var rallyDataSource = new  rally.sdk.data.RallyDataSource("myvalidworkspaceID","myvalidprojectID","false","false");
                    var ddown1=document.getElementById("ddown1");
                    var config = { label: "Select a release " };
                    var releaseDropdown = new rally.sdk.ui.ReleaseDropdown(config,rallyDataSource);
                    releaseDropdown.display(ddown1,releaseSelected);

                }


                function releaseSelected(dropdown,eventArgs) {
                    var selectedItem=eventArgs.item;
                    var selectedValue = eventArgs.value;
                    var releaseObjids =  new Array();
                    releaseObjids[1]=selectedItem.ObjectID;
                    displayChart1(releaseObjids[1]);
                }

                function displayChart1(release) {
                    var config = {
                        report: rally.sdk.ui.StandardReport.ReleaseDefectTrend,
                        //itle: 'Technical Debt',
                        width : 600,
                        height: 250,
                        releases: release
                    };
                    alert('chart1 release = ' + release);

                    var report = new rally.sdk.ui.StandardReport(config);
                    var div1=document.getElementById("div1");
                    report.display(div1);
               }

                rally.addOnLoad(onLoad);
            </script>
            </head>
            <body>
            <table border="1">
            <tr>
             <td align="center"><div id="ddown1"></div></td>
            </tr>
            <tr>
             <td><div id="div1"></div></td>
            </tr>
            </table>

            </body>
            </html>
4

1 回答 1

0

看起来您的代码中没有硬编码的版本对象 ID,也没有指定工作区。所有 WS API 查询都绑定到一个工作区,如果没有指定的工作区和给定用户的默认值,则无法保证您在 Rally 内部看到的内容与外部相同。要缩小范围,您不需要在此故障排除阶段使用登录密钥。请确保应用程序在 Rally 之外按预期工作 - 登录密钥仅允许您避免提示登录。范围未在您的代码中指定,但应用程序需要从某处提取可用版本。在自定义此处找到的原始代码之前当您对特定版本的对象 ID 进行硬编码时,查看原始代码是否在 Rally 内外为您产生相同的结果,然后在硬编码多个 ObjectID 时转到更复杂的场景,然后才尝试使用变量集从下拉值动态:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
   <meta name="Name" content="Component Example: Standard Report">
   <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.26/sdk.js"></script>
   <script type="text/javascript">
     function initPage() {
       var config = {
           report: rally.sdk.ui.StandardReport.ReleaseDefectTrend,
           width : 800,
           height: 400,
       releases: [1111,2222]
         };
       var report = new rally.sdk.ui.StandardReport(config);
       report.display("aDiv");
     }

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

有关更多信息,请参阅Rally 之外的应用程序

通常标准报告是罐装报告,不能在 JSON 配置对象允许的范围之外进一步定制。AppSDK1 允许您通过以下语法在自定义页面中加载报告:

report: rally.sdk.ui.StandardReport.ReleaseDefectTrend

但是如果你想放大,以显示更多信息,也许在图表中,这必须从头开始编码。

于 2013-09-20T18:20:35.430 回答