0

我正在尝试使用回溯 api 获取与缺陷关联的标签。似乎无论我尝试什么,我都无法让标签保湿。有任何想法吗?

我在返回查询时得到以下数据:

ScheduleState: "Backlog"
Tags: Array[1]
   0: 3230012667
   length: 1
   __proto__: Array[0]

我的查询代码是:

Ext.create('Rally.data.lookback.SnapshotStore', {
        fetch: ['Name','ScheduleState', 'Project', 'Tags'],
        autoLoad: true,
        listeners: {
            load: function(store, records) {
                console.log(store);
            }
        },
        hydrate: ['Tags'],
        fields: ['Name','ScheduleState', 'Project', 'Tags'],
        filters: [
            {
                property: '_TypeHierarchy',
                operator: '=',
                value: 'Defect'
            },
            {
                property: 'ScheduleState',
                operator: '!=',
                value: 'Accepted'
            },
            {
                property: '__At',
                value: dateString
            }
        ]
    });
4

1 回答 1

1

我不相信你可以用 LBAPI 水合标签。我要做的是使用 WSAPI 创建一个哈希映射,将标签对象 ID 映射到它的名称。这是一些完成此操作的代码:

Ext.create('Rally.data.WsapiDataStore', {
    limit : Infinity,
    model : 'Tag',
    fetch : ['ObjectID','Name']
}).load({
    callback: function(store) {
        var tagNameMap = Ext.create('Ext.util.HashMap');
        Ext.Array.each(store.getRecords(), function(record) {
            tagNameMap.add(record.get('ObjectID'), record.get('Name'));
        });
        getDefects(tagNameMap); //Pass the tag name map to the LBAPI request
    }
});

现在只需使用tagNameMap.get(tagOID)来获取标签的名称。

希望这可以帮助 :)

于 2013-10-17T19:01:27.257 回答