【问题标题】:PortfolioItem Query in Rally External AppRally 外部应用程序中的 PortfolioItem 查询
【发布时间】:2012-10-10 06:15:09
【问题描述】:

我们希望在我们的 SharePoint 网站中显示 Portfolio Timeline Rally App,以便高层管理人员可以很好地了解我们的产品组合中的哪些内容,但看起来该功能不可用。因此,作为“下一个最好的东西”,他们想要一个包含开始/结束日期和一些其他字段显示在表格中的投资组合项目列表。

到目前为止,我已经能够为只读用户生成登录密钥,将其放入我在 Rally 网站和 SO 之间找到的一些示例代码中,并成功显示用户故事列表:

 <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.28/sdk.js?loginKey=[loginkey]"></script>
 <script type="text/javascript">
    function onLoad() {
        rally.sdk.ui.AppHeader.destroy();
        var workspaceId = "0123456789";
        var projectId = "0123456789";
        var rallyDataSource = new rally.sdk.data.RallyDataSource(workspaceId,projectId, 'false', 'true');
        var config = {type: "hierarchicalrequirement", columnKeys:["FormattedID", "Name"]};
        var table = new rally.sdk.ui.Table(config, rallyDataSource);
        table.display("tableDiv");
    }
    rally.addOnLoad(onLoad);
</script>

效果很好。但是,我遇到了以下问题:

  • 如果我尝试将配置的类型从分层要求更改为 PortfolioItem,它似乎没有检索到任何内容
  • 如果我尝试将 sdk.js 上的 rev 提高到 1.28 以上,那么 rally.addOnLoad 似乎根本不会触发 onLoad 事件,并且如果我这样做的话,我的代码会出现一些其他错误(例如 RallyDataSource 未定义)它使用我自己的 onLoad 事件触发

我是否遗漏了一些非常明显的东西? 2.0 SDK 还有什么我应该使用的吗?

【问题讨论】:

    标签: javascript rally


    【解决方案1】:

    由于合并了 Rally Webservices API 以允许dynamic typing of Portfolio Items,因此在使用 AppSDK 1.x 时,有必要将最新可用版本的 AppSDK Javascript 工具包 (1.32) 与 Webservices API 版本 1.37 配对,它处理 PortfolioItems 的动态类型。

    以下方法应该适用于您的代码:

    <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.32/sdk.js?loginKey=[loginkey]"></script>
     <script type="text/javascript">
        function onLoad() {
            rally.sdk.ui.AppHeader.destroy();
            var workspaceId = "123456789";
            var projectId = "2345678910";
            var rallyDataSource = new rally.sdk.data.RallyDataSource(workspaceId,projectId, 'false', 'true');
            // Set Webservices API version to use 1.37
            rallyDataSource.setApiVersion('1.37');
            var config = {type: "portfolioitem", columnKeys:["FormattedID", "Name"]};
            var table = new rally.sdk.ui.Table(config, rallyDataSource);
            table.display("tableDiv");
        }
        rally.addOnLoad(onLoad);
    </script>
    

    AppSDK 2.0+ 将是处理 Portfolio Item 类型的最佳方法,因为一旦它成为 GA,它将成为首选和受支持的 Javascript 工具包。但是,此时 AppSDK 2.0 预览版中尚不提供“类似 LoginKey”的功能 - 因此上述方法现在应该可以让您在 AppSDK 1.32 中使用 LoginKey。

    【讨论】:

    • 谢谢,效果很好!我在 Rally Data Source 文档中的 setApiVersion 上找不到任何内容。我想知道 SDK 1.x 的版本控制如何与 Web 服务版本控制相关联(因为它们不同步),所以我想这也回答了这个问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多