CA Rally:如何在特定日期获取发布的所有功能

时间:2017-03-09 17:59:17

标签: extjs rally code-rally

我需要获取特定日期属于特定版本的所有功能的列表。我基本上知道如何使用lookback API,我可以使用它获取特定日期的Release对象。问题是Release对象似乎不包含Children元素。这是根据official documentation

所以我尝试了整个项目的所有功能,希望能够通过Release.ObjectID进行过滤,但是当我尝试按Release.ObjectID过滤时,响应为空。不是空数组,表示没有匹配的记录,但实际为空。我可能尝试了十几种不同的方式。

这就是代码现在看起来的样子,所有尝试通过删除Release.ObjectID进行过滤。任何人都可以指出如何在查询中完成此操作,或者我是否必须加载所有功能然后手动过滤它们?

_lookbackFeaturesByRelease: function(){
    var scope = this.getContext().getTimeboxScope()
    var ReleaseID = scope.record.raw.ObjectID;
    var ProjectID = this.getContext().getProject().ObjectID;


    this.snapshot = Ext.create('Rally.data.lookback.SnapshotStore', {
        autoLoad: true,
        limit: Infinity,
        params: [removeUnauthorizedSnapshots = 'true'],
        find: {
            _ProjectHierarchy: ProjectID,
            _TypeHierarchy: "PortfolioItem/Feature",
            __At: "2017-02-10T00:00:00Z"
        },
        fetch: ['ObjectID', 'Name', 'Release'],
        hydrate: ['Release'],
        listeners: {
            load: this._processlbR,
            scope: this
        } //End Listeners
    });//End snapshot create

},//End _lookbackRelease

1 个答案:

答案 0 :(得分:0)

我想你可以在你的发现中添加这样的东西:

find: {
    Release: { '$in': [12345, 23456] }
}

其中12345和23456是与您在子项目中选择的版本和版本相对应的版本对象。您需要查询wsapi以查找当前项目范围中的所有发布oid并传递这些值。