敏捷中心示例应用程序失败

时间:2016-06-02 01:31:22

标签: rally agile

按照列出的here指示后,我在Google Chrome浏览器工具中收到以下错误:

sdk-debug.js:147611 Error: success callback for Deferred transformed result of Deferred transformed result of Deferred threw: TypeError: Cannot read property 'project' of undefined
at Ext.define.getFullyQualifiedName (sdk-debug.js:163998)
at Ext.define.build (sdk-debug.js:164052)
at Ext.define.buildCompositeArtifact (sdk-debug.js:164152)
at Ext.define.getModel (sdk-debug.js:196664)
at Ext.define._buildColumnsFromModel (sdk-debug.js:196985)
at Ext.define._parseColumns (sdk-debug.js:196977)
at sdk-debug.js:146417
at Ext.define.notify (sdk-debug.js:146514)
at Ext.define.register (sdk-debug.js:146481)
at Ext.define.then (sdk-debug.js:146299)

我的订阅启用了JSONP,我收到消息要读出我的控制台。此外,我已经获得了成功响应请求的Web服务。这个对我来说是新的。这个"应该"工作,但它没有。这是示例本身的错误吗?

我已实施该示例的完整源代码为here

2 个答案:

答案 0 :(得分:1)

哇,多么尴尬。这绝对是Rally.ui.cardboard.CardBoard组件的一个错误。从好的方面来说,您可以通过在示例代码中包含当前上下文来解决它。

var cardBoardConfig = {
    xtype: 'rallycardboard',
    types: ['Defect', 'User Story'],
    attribute: 'ScheduleState',

    context: this.getContext(), //<-- NEW CODE HERE

    storeConfig: {
        filters: [this.iterationCombobox.getQueryFromSelected()]
    }
};

通常情况下,最好为所有组件提供当前上下文,但是如果未指定,所有组件也应该足够智能,只使用默认值。

我将提交缺陷来修复卡板组件以正确使用默认上下文,并修复示例以明确传递上下文。感谢您报告此问题并对此感到抱歉!

答案 1 :(得分:0)

这似乎是rallycardboard的配置如何处理“types:”属性中的条目的问题。如果您有“用户故事”或“缺陷”,它将起作用。但是,如果你有两者,那就不会。

这有效:

var cardBoardConfig = {
        xtype: 'rallycardboard',
        types: ['Defect'],
        attribute: 'ScheduleState',
        storeConfig: {
            filters: [this.iterationCombobox.getQueryFromSelected()]
        }
    };
    this.cardBoard = this.add(cardBoardConfig);

这有效:

var cardBoardConfig = {
        xtype: 'rallycardboard',
        types: ['User Story'],
        attribute: 'ScheduleState',
        storeConfig: {
            filters: [this.iterationCombobox.getQueryFromSelected()]
        }
    };
    this.cardBoard = this.add(cardBoardConfig);

这(直接从引用的例子中复制)不起作用:

var cardBoardConfig = {
        xtype: 'rallycardboard',
        types: ['User Story', 'Defect'],
        attribute: 'ScheduleState',
        storeConfig: {
            filters: [this.iterationCombobox.getQueryFromSelected()]
        }
    };
    this.cardBoard = this.add(cardBoardConfig);