我正在对一个版本中的迭代进行一些处理,我想知道团队在那个时间点的速度是什么,有没有办法使用回顾API或以其他方式获取该期间的信息?
即。当时拉力赛产生的速度或手动计算最后10次或所有时间速度测量?
所以,基于下面的回答,我最终得到了这段代码:
_getVelocity: function() {
this.logger.log("_getVelocity");
var me = this;
var deferred = Ext.create('Deft.Deferred');
Ext.Array.each(this.iterations,function(iteration){
iteration.PlanEstimate = 1;
me.logger.log("Fetching velocity for iteration", iteration.Name);
var start_date_iso = Rally.util.DateTime.toIsoString(iteration.StartDate);
var end_date_iso = Rally.util.DateTime.toIsoString(iteration.EndDate);
var type_filter = Ext.create('Rally.data.lookback.QueryFilter', {
property: '_TypeHierarchy',
operator: 'in',
value: this.show_types
});
var date_filter = Ext.create('Rally.data.lookback.QueryFilter', {
property: '_ValidFrom',
operator: '>=',
value:start_date_iso
}).and(Ext.create('Rally.data.lookback.QueryFilter', {
property: '_ValidFrom',
operator: '<=',
value:end_date_iso
}));
var filters = type_filter.and(date_filter);
me.logger.log("Filter ", filters.toObject());
Ext.create('Rally.data.lookback.SnapshotStore',{
autoLoad: true,
filters: filters,
fetch: ['FormattedID','PlanEstimate','ScheduleState'],
hydrate: ['ScheduleState'],
listeners: {
scope: this,
load: function(store,it_snaps,successful) {
if ( !successful ) {
deferred.reject("There was a problem retrieving changes");
} else {
me.logger.log(" Back for ", it_snaps.length, it_snaps);
deferred.resolve(it_snaps);
}
}
}
});
});
deferred.resolve([]);
return deferred;
},
此代码和过滤器等的形状从同一个应用程序中的另一个功能中解除,但是这个不起作用,我得到以下错误:
未捕获的TypeError:无法读取属性&#39;错误&#39;为null 获取https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/99052282 ... ScheduleState%22%5D&amp; pagesize = 20000&amp; start = 0&amp; jsonp = Ext.data.JsonP.callback49 400(错误请求)
答案 0 :(得分:0)
由于LookbackAPI提供历史数据,您可以在特定时间点查询故事并获得当时完成的点数。没有Rally生成的速度,因此必须手动访问和汇总。例如,我的迭代开始于8月7日,并于8月14日结束,但如果我想要8月10日的数据,我会使用:
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/1234/artifact/snapshot/query.js?find={"Iteration":5678,"_TypeHierarchy":"HierarchicalRequirement",_ValidFrom:{$gte:"014-08-10",$lte:"2014-08-14"}}&fields=['FormattedID','ScheduleState','PlanEstimate']&hydrate=['ScheduleState']
更新:就您发布的代码而言,请更改
var start_date_iso = Rally.util.DateTime.toIsoString(iteration.StartDate)
var end_date_iso = Rally.util.DateTime.toIsoString(iteration.EndDate);
到
var start_date_iso = Rally.util.DateTime.toIsoString(iteration.get('StartDate'),true);
var end_date_iso = Rally.util.DateTime.toIsoString(iteration.get('EndDate'),true);
我使用您的语法复制了错误的请求错误,并在将其更改为此格式后工作:iteration.get('StartDate'),true
应用源代码位于this repo。