LBAPI“removeUnauthorizedSnapshots”仅在第一次请求时发送

时间:2013-09-24 17:16:19

标签: rally appsdk2 lookbackapi

我最近开始在LBAPI中使用“removeUnauthorizedSnapshots”参数,以避免我之前遇到的权限错误。使用LBAPI收集工作区中所有工作项的详细信息比WSAPI快得多,但由于我们的工作区中有大约25,000个叶子故事,因此必须使用多个API请求收集此数据。在请求中添加“limit:Infinity”参数时,您可以在网络流量中看到,当第二个请求实际发生时,未包含“removeUnauthorizedSnapshots”参数,从而导致权限错误。

是否有计划将此参数的官方支持添加到LBAPI,而不是手动将其添加到请求中?

谢谢!

2 个答案:

答案 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的场景显示。

相关问题