回溯API中的水合标签

时间:2013-10-17 16:01:10

标签: rally appsdk2 lookbackapi

我正在尝试使用lookback 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
            }
        ]
    });

1 个答案:

答案 0 :(得分: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)来获取标记的名称。

希望这会有所帮助:)