Rally Custom App:需要获得所有当前的Rally版本

时间:2014-02-06 20:14:55

标签: rally

我正在尝试编写一个过滤器,它将在Rally项目中生成当前的所有版本,定义为在今天之前或之后开始,并在今天之后结束。

    var today = new Date();

    var releaseDateFilter = Ext.create('Rally.data.wsapi.Filter', {
        property : 'ReleaseDate',
        operator : '>',
        value : today
    });

    var releaseFilter = releaseDateFilter.and(Ext.create(
            'Rally.data.wsapi.Filter', {
                property : 'ReleaseStartDate',
                operator : '<=',
                value : today
            }));

    console.log(releaseFilter.toString());

    var myStore = Ext.create('Rally.data.wsapi.Store',
            {
                model : 'Release',
                fetch : [ 'FormattedID', 'Name', 'ReleaseDate',
                        'ReleaseStartDate' ],
                limit : Infinity,
                filters : releaseFilter,
                context : {
                    project : '/project/XXXXXXX',
                    projectScopeDown : true
                },
                autoLoad : true,
                listeners : {
                    load : function(myStore, myData, mySuccess) {
                        // Do stuff here
                    },
                    scope : this
                }
            });

过滤器的console.log输出:

((ReleaseDate > Thu Feb 06 2014 11:54:26 GMT-0800 (Pacific Standard Time)) AND
 (ReleaseStartDate <= Thu Feb 06 2014 11:54:26 GMT-0800 (Pacific Standard Time)))

数据存储中没有记录。如果我注释掉过滤器,则数据存储有289条记录。

当我通过Rally的WSAPI帮助页面尝试此查询时,我获得了129个版本。

1 个答案:

答案 0 :(得分:0)

Rally的Webservices API中的日期需要格式化为ISO8601字符串,即:

2014-02-06T11:10:14.000Z

尝试使用Rally.util.DateTime.toIsoString,如下所示:

var today = Rally.util.DateTime.toIsoString(new Date());

您的过滤器应该按预期工作。