1

这在 2.04p 中对我来说效果很好,但在 2.0rc1 中,它没有从服务中获取太多数据。

Rally.data.ModelFactory.getModel({
    type : 'Project',
    success : function(project) {

        project.load(projectId, {
            fetch : [ 'TeamMembers','Editors' ],
            callback : callback
        })
    }
});

在 2.04p 中,这让我得到了项目中所有团队的列表(参考,这就是我所需要的)。在 2.0rc1 中,它只返回指向所需列表的指针。看起来我必须发送另一个请求才能获取实际列表。有没有我可以传递给这个方法的参数来告诉它实际上让我得到 TeamMembers 和 Editors 的列表?

我认为我正在寻找的是 API 的“获取完整对象”的 SDK 等价物

谢谢

4

1 回答 1

2

看起来我刚刚找到了答案:

https://help.rallydev.com/apps/2.0rc1/doc/#!/guide/collections_in_v2

出于性能原因,在 WSAPI 的 2.x 版本中不再可能执行此操作。现在每个对象集合都有自己独特的 ref uri。这意味着这些集合现在可以单独查询、分页、排序和过滤。获取故事上的缺陷现在将返回一个对象,其中包含计数和从中检索集合数据的 uri。ref uri 通常采用/type/oid/collection 格式(例如/hierarchicalrequirement/12345/defects)。

所有记录现在都有一个用于检索子集合数据的 getCollection 方法。此方法将返回 Rally.data.CollectionStore 的一个实例,用于处理子集合。以下示例展示了如何在 WSAPI 2.x 中查询故事,然后检索相关的缺陷信息:

Ext.create('Rally.data.WsapiDataStore', {
model: 'UserStory',
fetch: ['Defects'],
pageSize: 1,
autoLoad: true,
listeners: {
    load: function(store, records) {
        var story = records[0];
        var defectInfo = story.get('Defects');
        var defectCount = defectInfo.Count;

        story.getCollection('Defects').load({
            fetch: ['FormattedID', 'Name', 'State'],
            callback: function(records, operation, success) {
                Ext.Array.each(records, function(defect) {
                    //each record is an instance of the defect model
                    console.log(defect.get('FormattedID') + ' - ' +
                        defect.get('Name') + ': ' + defect.get('State'));
                });
            }
        });
    }
}

});

于 2013-09-24T13:35:11.053 回答