javascript - Rally 外部应用程序中的 PortfolioItem 查询

标签 javascript rally

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

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

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

  • 如果我尝试将配置的类型从 hierarchicalrequirement 更改为 PortfolioItem,它似乎没有检索到任何内容
  • 如果我尝试将 sdk.js 的 rev 增加到 1.28 以上,rally.addOnLoad 似乎根本不会触发 onLoad 事件,如果我执行以下代码,我会收到一些其他错误(例如 RallyDataSource 未定义)它通过我自己的 onLoad 事件触发

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

最佳答案

由于为允许 dynamic typing of Portfolio Items 而合并的 Rally Webservices API 发生了变化,因此在使用 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+ 将是 future 处理投资组合项目类型的最佳方法,因为一旦正式发布,它将成为首选和受支持的 Javascript 工具包。但是,此时,AppSDK 2.0 预览版中尚不提供“类似 LoginKey”的功能 - 因此,上述方法目前应该可以让您在 AppSDK 1.32 中使用 LoginKey。

关于javascript - Rally 外部应用程序中的 PortfolioItem 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977510/

相关文章:

php - 创建富文本编辑器界面

javascript - 类声明问题

Python CA Rally API Pyral - 在子项目中找不到用户故事

javascript - 未为新功能记录生成 FormattedID

c# - 如何使用 rally rest API 和 C# 在功能中添加/更新里程碑?

javascript - 将某些数据从一个对象抓取到另一个对象

javascript - 根据第一个 View 的选择更新其他 View ?

javascript - 在页面加载时动画对象,但仍然能够随着悬停而改变

rally - 如何查询状态转换?

rally - 拉力赛中的子任务