스냅 샷 스토어에서 랠리 스코프
-
24-12-2019 - |
문제
나는 모든 리프 스토리를 나의 기본 프로젝트 아래에서 랠리에서 얻고 각 이야기의 반복 값 (존재하는 경우)을 사용자 정의 필드에 복사하려고합니다.다음은 내 코드가 있습니다.
_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
});
}
.
이 쿼리에 컨텍스트를 추가 할 수 없으며 현재 프로젝트에서만 리프 스토리를 얻을 수 없습니다.
query fiter를 추가하려고 시도했습니다. {property: '_ProjectHierarchy',operator: 'in', value: this.getContext().getProject().ObjectID}
.
_PROJECTHIERARCHY가 올바른 방법이 될 수 있는지 확실하지는 않지만 여전히 작동하지 않습니다.
해결책
_ProjectHierArchy를 사용하면 단일 프로젝트에 쿼리가 쿼리되지 않지만 프로젝트와 해당 자식 프로젝트에 적용됩니다.차이를보기 위해 브라우저에서 직접 Lookback 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"]
를 추가하여 두 번째 쿼리가 한 프로젝트의 이야기 만 반환하는지 확인할 수 있습니다.
제휴하지 않습니다 StackOverflow