2013-07-29 74 views
1

我們有幾個使用LBAPI的問題來從我們工作區中的項目組合範圍縮小範圍。由於許多人員參與到一個項目,一個用戶試圖拉這些項目的指標可能並不總是具有所有有貢獻的團隊訪問,我們面臨着兩個選擇之一:回溯API:僅返回可見的工作項目

  • 返回403錯誤從拉力賽服務器到用戶,並沒有提供有關所需度量的有用信息。
  • 將一組「可見」團隊傳遞給LBAPI,該LBAPI僅返回我查看訪問的團隊中的工作項。

因此,邏輯過程一開始就是不帶團隊過濾器的查詢,遇到403的情況下,找出哪些團隊有查看權限,只查詢這些團隊。我不一定介意爲此編寫代碼;只是它看起來像是可以輕鬆地通過單個API調用返回的內容。理想情況下,如果用戶沒有對任何團隊的查看訪問權限,則會返回這些團隊對象ID的數組並返回錯誤,以便用戶知道請求訪問哪個團隊。

回答

1

這是一個有意的設計決定。我們希望確保當兩個不同的人查看時,相同的報告會顯示相同的報告。我們之前的報告系統的主要改進之一是能夠向某人發送報告鏈接,並確保所有觀衆都能看到該報告。

我們添加了一個參數,該參數將結果限制爲僅有用戶有權查看的快照。

如果您將& removeUnauthorizedSnapshots = true添加到請求的URL中,它將過濾掉所需的響應,而無需提供每個項目。

+1

謝謝你這個查爾斯!似乎手動添加請求時效果很好。我怎樣才能將這個添加到使用2.0 SDK的請求中呢?我將該屬性添加到配置中,但是當我查看請求時,它看起來好像不會傳遞給服務器。有任何想法嗎? –

+0

有關將「removeUnauthorized」添加到Rally.data.lookback.SnapshotStore配置的故事現在處於積壓狀態。由於在此期間解決方法,我認爲你可以通過PARAMS負載: 'snapshotStore.load({ PARAMS:{ 壓縮:真實, removeUnauthorizedSnapshots:真 }, 回調:函數(記錄){} });' – nickm

+0

工作很好的尼克。謝謝! –