3

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

到目前为止,我已经能够为只读用户生成登录密钥,将其放入我在 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>

这很好用。但是,我遇到了以下问题:

  • 如果我尝试将配置的类型从 hierarchyrequirement 更改为 PortfolioItem 它似乎没有检索到任何东西
  • 如果我尝试将 sdk.js 上的 rev 提高到 1.28 以上,则 rally.addOnLoad 似乎根本不会触发 onLoad 事件,如果我让它触发,我会在代码中遇到一些其他错误(例如 RallyDataSource 未定义)我自己的 onLoad 事件

我错过了一些非常明显的东西吗?2.0 SDK 还有什么我应该使用的吗?

4

1 回答 1

2

由于合并了 Rally Webservices API 中的更改以允许动态键入 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+ will be the best approach to handle Portfolio Item types moving forward as it will be the preferred and supported Javascript toolkit once it is GA. However, at this time, a "LoginKey-like" functionality is not yet available in AppSDK 2.0 preview - so the above approach should get you by with LoginKey in AppSDK 1.32 for now.

于 2012-10-20T16:53:56.097 回答