gpt4 book ai didi

javascript - Rally SDK 外部开发 Rally.environment undefined

转载 作者:行者123 更新时间:2023-11-28 00:26:53 28 4
gpt4 key购买 nike

我在外部开发时无法使用Rally.environment.getContext()。我需要在应用程序启动之前获取 ProjectOID 和 UserOID,因此我无法使用 app.getContext(),因为它尚未创建。

在外部开发时如何从 Rally 对象获取 UserOID 和 ProjectOID。

我使用的是 sdk2.0,我不想使用 Hangman 变量,因为网站说它们已被弃用。

编辑:下面是每个项目+用户组合的设置示例,该组合在本地不起作用,并且 Rally.environment 未设置,因此我无法从那里获取 if 。

var SETTINGS_TOKEN = __PROJECT_OID__ + '-' + __USER_OID__;
...
config: {
defaultSettings: (function(){
var s = {};
s['QueryFilter' + SETTINGS_TOKEN] = '';
return s;
}())
},
getSettingsFields: function() {
return [{
name: 'QueryFilter' + SETTINGS_TOKEN,
xtype: 'textfield',
label: 'Query Filter'
}];
},

编辑2:这似乎暂时适用于外部运行(App-Debug tmpl): https://github.com/ssteffl/rally-app-builder/blob/master/templates/ext/App-debug.html .

但是我想让这个工作的主要原因是 PROJECT_OID 和 Rally.environment 在不在自定义应用程序 Iframe 中运行时都是无效的,所以我的 jasmine 测试失败了。我想让我的测试通过。我正在使用这个 jasmine.tmpl 进行测试,也许我必须像我为应用程序调试模板所做的那样手动添加 Rally.environment:https://github.com/arring/MDO-RallyApps/blob/master/test/jasmine.tmpl

最佳答案

似乎您发现了一个我们在 SDK 中没有考虑到的非常可靠的边缘情况 - 将首选项范围限定为用户 + 项目。我想我可能会继续使用 Hangman 变量,因为唯一的其他解决方法就是太多的代码。它们被认为已被弃用,但它们不会很快消失,因为目录中仍然有大量基于 SDK 1.x 的应用程序仍然需要它们才能正常运行。我可能只是用一些默认值进行一些健全性检查:

var projectOid = '__PROJECT_OID__';
var userOid = '__USER_OID__';
if(projectOid === '__PROJECT' + '_OID__') {
projectOid = 123456; //well known default for testing
userOid = 234567; //well known default for testing
}
var SETTINGS_TOKEN = projectOid + '-' + userOid;

关于javascript - Rally SDK 外部开发 Rally.environment undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402614/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com