Rally SnapshotStore中的集合范围
我正在尝试从Rally中的默认项目下获取所有叶故事,并将每个故事(如果存在)的迭代值复制到自定义字段中。这是我的密码Rally SnapshotStore中的集合范围,rally,appsdk2,lookbackapi,Rally,Appsdk2,Lookbackapi,我正在尝试从Rally中的默认项目下获取所有叶故事,并将每个故事(如果存在)的迭代值复制到自定义字段中。这是我的密码 _update_dIteration_for_all_leaves: function(){ console.log("Working on dIteration for all leaves"); var me = this; var query = Ext.create('Rally.data.lookback.QueryFilter',{prope
_update_dIteration_for_all_leaves: function(){
console.log("Working on dIteration for all leaves");
var me = this;
var query = Ext.create('Rally.data.lookback.QueryFilter',{property: '_TypeHierarchy', operator: '=', value: "HierarchicalRequirement"});
query.and(Ext.create('Rally.data.lookback.QueryFilter',{property: 'Children', operator: '=', value: null}));
query.and(Ext.create('Rally.data.lookback.QueryFilter',{property: '__At', operator: '=', value: 'current'}));
Ext.create('Rally.data.lookback.SnapshotStore',{
autoLoad: true,
context: this.getContext(),
// tried context:{workspace: this.getContext().getWorkspace(), project: this.getContext().getProject()} but doesn't work.
fetch:['Name','FormattedID','Iteration','ObjectID'],
filters: query,
listeners: {
load: function(store,data,success){
console.log("How many leaf stories? ",data.length);
var configs = [];
for(var i=0;i<data.length;i++){
if(data[i].data.Iteration!=null && data[i].data.Iteration!=""){
console.log('data iteration ', data[i].data.Iteration);
configs.push({
model: "Iteration",
fetch: ['Name','ObjectID'],
filters: [{property: 'ObjectID', operator: '=', value: data[i].data.Iteration}],
storyid: data[i].data.ObjectID
});
}
}
console.log('configs length ',configs);
async.map(configs, me.wsapiQuery, function(err,results){
// console.log('len ',results);
for(var i=0;i<results.length;i++){
//var ObjectID = results[i].get('ObjectID');
var name = results[i].get('Name');
console.log("Name of iteration "+name+" ID of story "+configs[i].storyid);
}
});
}
},
scope: this
});
}
虽然我不确定ProjectHierarchy是否是正确的方法,但它仍然不起作用 使用_ProjectHierarchy不会将查询范围限定为单个项目,而是将其限定为一个项目及其子项目。请直接在浏览器中尝试回溯API查询以查看差异。例如,在我的环境中,使用
“_ProjectHierarchy”:{“$in”:[14020168984]}
的第一个查询返回TotalResultCount:229,但使用“Project:14020168984
的第二个查询返回TotalResultCount:128
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/14020168894/artifact/snapshot/query.js?find={"_TypeHierarchy":"HierarchicalRequirement","_ProjectHierarchy":{"$in":[14020168984]}}
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/14020168894/artifact/snapshot/query.js?find={"_TypeHierarchy":"HierarchicalRequirement","Project":14020168984}
您可以将&fetch=[“Project”]
附加到这些查询中,以查看第二个查询只返回一个项目的故事
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/14020168894/artifact/snapshot/query.js?find={"_TypeHierarchy":"HierarchicalRequirement","_ProjectHierarchy":{"$in":[14020168984]}}
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/14020168894/artifact/snapshot/query.js?find={"_TypeHierarchy":"HierarchicalRequirement","Project":14020168984}