AppSDK rc2는 WS API v2.0과 호환됩니다. v2.0에서는 성능상의 이유로 같은 응답으로 하위 컬렉션을 반환하는 기능을 제거했습니다. WS API documentation fetching a collection 일 경우 수와 컬렉션 데이터를 가져올 URL이있는 개체가 반환됩니다. 전체 개체를 얻으려면 별도의 요청이 필요합니다. app example in this github repo에서 테스트 세트가 콤보 박스에서 선택되고 testset이로드되면 TestCases 콜렉션이 수화됩니다.
_onDataLoaded: function(store, records){
if ((records.length === 0) && (this._grid)) {
this._grid.destroy();
}
var that = this;
var promises = [];
_.each(records, function(tcr) {
promises.push(that._getTestCase(tcr, that));
});
Deft.Promise.all(promises).then({
success: function(results) {
that._testcaseresults = results;
that._createGrid(records);
}
});
},
_getTestCase: function(tcr, scope) {
var deferred = Ext.create('Deft.Deferred');
var that = scope;
var testcaseOid = tcr.get('TestCase').ObjectID;
Rally.data.ModelFactory.getModel({
type: 'Test Case',
scope: this,
success: function(model, operation) {
fetch: ['FormattedID','Name','Method'],
model.load(testcaseOid, {
scope: this,
success: function(record, operation) {
var testName = record.get('Name');
var testFid = record.get('FormattedID');
var testMethod = record.get('Method');
var tcrRef = tcr.get('_ref');
var tcrOid = tcr.get('ObjectID');
var tcrVerdict = tcr.get('Verdict');
var tcrBuild = tcr.get('Build');
result = {
"_ref" : tcrRef,
"ObjectID" : tcrOid,
"Verdict" : tcrVerdict,
"Build" : tcrBuild,
"TestCaseName" : testName,
"TestCase" : testFid,
"Method" : testMethod
};
deferred.resolve(result);
}
});
}
});
return deferred;
}
nickm. 감사합니다. 이것으로 해결된다. –