2013-09-24 94 views
1

我最近開始在LBAPI中使用「removeUnauthorizedSnapshots」參數,以避免我以前遇到的權限錯誤。使用LBAPI收集我們工作空間中所有工作項的詳細信息比WSAPI快得多,但由於我們的工作空間中有大約25,000個葉子故事,因此必須使用多個API請求收集此數據。在向請求添加「limit:Infinity」參數時,您可以在網絡流量中看到,實際上發生了第二個請求時,「removeUnauthorizedSnapshots」參數未包括在內,因此導致了權限錯誤。LBAPI「removeUnauthorizedSnapshots」只在第一次請求時發送

是否有計劃將此參數的官方支持添加到LBAPI,而不是手動將其添加到請求中?

謝謝!

回答

0

我提交了一個bug。感謝您引起我們的注意。正如我在其他post中所評論的那樣,我們向積壓添加了一個故事,以將「removeUnauthorized」添加到Rally.data.lookback.SnapshotStore配置中,但同時提示的解決方法顯然存在缺陷,並且額外的參數不適用於後續請求,因爲你的場景的結果總數超過了20K。

1

在此期間,這裏是一個使用「loadPage」功能,代替「負荷」的解決方案:

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); 
相關問題