我最近开始在LBAPI中使用“removeUnauthorizedSnapshots”参数,以避免我之前遇到的权限错误。使用LBAPI收集工作区中所有工作项的详细信息比WSAPI快得多,但由于我们的工作区中有大约25,000个叶子故事,因此必须使用多个API请求收集此数据。在请求中添加“limit:Infinity”参数时,您可以在网络流量中看到,当第二个请求实际发生时,未包含“removeUnauthorizedSnapshots”参数,从而导致权限错误。
是否有计划将此参数的官方支持添加到LBAPI,而不是手动将其添加到请求中?
谢谢!
答案 0 :(得分:1)
与此同时,这是一个使用“loadPage”函数代替“load”的解决方案:
var allRecords = [];
function getWorkItems(pageNumber) {
Ext.create('Rally.data.lookback.SnapshotStore', {
fetch : ['Name','ObjectID','PlanEstimate'],
filters : [{
property : '__At',
value : 'current'
},{
property : '_TypeHierarchy',
value : 'HierarchicalRequirement'
},{
property : 'Children',
value : null
}]
}).loadPage(pageNumber, {
params : {
compress : true,
removeUnauthorizedSnapshots : true
},
callback : function(records, operation, success) {
allRecords = Ext.Array.merge(allRecords, records);
if (operation.response.StartIndex + operation.response.PageSize >= operation.response.TotalResultCount) {
//All records loaded
} else {
getWorkItems(++pageNumber);
}
}
});
}(1);
答案 1 :(得分:0)
我提交了一个错误。感谢您提请我们注意。正如我在另一个post中评论的那样,我们在积压中添加了一个故事,将“removeUnauthorized”添加到Rally.data.lookback.SnapshotStore配置中,但同时建议的解决方法显然存在缺陷,并且额外的参数是不适用于后续请求,因为总结果数超过20K的场景显示。