2013-10-17 1 views
0

룩백 API를 사용하여 결함과 관련된 태그를 가져 오려고합니다. 내가 뭘하려고해도 상관 없다. 수화 태그를 얻을 수 없다. 어떤 아이디어?룩백 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

나는 당신이 LBAPI에 태그를 수화 수 있다고 생각하지 않습니다. 대신 WSAPI를 사용하여 Object 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)를 사용 : 여기에 끝내야하는 몇 가지 코드가있다.

희망이 있습니다.

+0

오, 좋은 생각입니다! 감사! – amcolosk