2013-07-29 2 views
1

LBAPI를 사용하여 작업 영역의 포트폴리오 항목에서 범위를 좁히는 데 몇 가지 문제가 있습니다. 많은 팀이 단일 프로젝트에 참여하고 이러한 프로젝트에서 메트릭을 가져 오려는 사용자가 항상 모든 기여 팀에 대한보기 액세스 권한이있는 것은 아니므로 다음과 같은 두 가지 옵션 중 하나를 선택해야합니다.Lookback API : 표시된 작업 항목 만 반환

  • 403 오류를 반환합니다. 랠리 서버에서 사용자에게 요청 된 메트릭과 관련하여 유용한 정보를 제공하지 않습니다.
  • 내가 볼 수있는 팀의 작업 항목 만 반환하는 LBAPI에 가시적 인 "팀"의 배열을 전달합니다.

논리 프로세스는 처음에는 팀 필터가없는 쿼리이며, 403이 발생하는 경우보기 액세스 권한이있는 팀을 파악하고 해당 팀만 쿼리합니다. 나는 이것을위한 코드를 작성하는 것을 염두에 두지 않는다; 단일 API 호출로 쉽게 반환 될 수있는 것처럼 보입니다. 이상적으로, 사용자가 어떤 팀 (들)에 대한보기 액세스 권한이없는 경우 해당 팀의 객체 ID 배열이 오류와 함께 반환되어 사용자가 액세스를 요청할 팀을 알 수 있습니다.

답변

1

이것은 의도적 인 디자인 결정이었습니다. 우리는 두 명의 다른 사람들이 볼 때 같은 보고서가 똑같이 보일 수 있도록하고 싶었습니다. 이전보고 시스템의 주요 개선 사항 중 하나는 보고서를 누군가에게 보내고 모든 시청자가 보고서를 동일하게 볼 수 있도록하는 기능이었습니다.

사용자가 볼 수있는 권한이있는 스냅 숏으로 만 결과를 제한하는 매개 변수를 추가했습니다.

& removeUnauthorizedSnapshots = true를 요청 URL에 추가하면 모든 단일 프로젝트를 제공하지 않고도 원하는 응답을 걸러 낼 수 있습니다.

+1

찰스 고마워요! 수동으로 요청에 추가 할 때 잘 작동하는 것 같습니다. 하지만 2.0 SDK로 만든 요청에 ​​어떻게 추가 할 수 있습니까? 해당 속성을 config에 추가했지만 요청을 보면 서버로 전달되는 것처럼 보이지 않습니다. 어떤 아이디어? –

+0

"removeUnauthorized"를 Rally.data.lookback.SnapshotStore 구성에 추가하는 것에 대한 이야기가 백 로그에 있습니다. 그 동안 해결 방법으로 당신이 부하에 PARAMS 전달할 수 있다고 생각 : 'snapshotStore.load ({ PARAMS : { 압축 : 사실, removeUnauthorizedSnapshots : 사실 }, 콜백 : 기능 (기록) { } }); ' – nickm

+0

좋은 닉 근무. 감사! –

관련 문제