2011-04-07 2 views
0

나는 이런 식으로 뭔가를 할 수 있도록하고 싶습니다 :주어진 사용자가 주어진 레코드를 볼 수 있는지 여부를 결정하는 데 JIRA SOAP API를 사용할 수 있습니까?

#!/usr/bin/python 
if jira.user_has_permission('jsmith', 'JIRA-123'): 
    print '%s has permission to view %s' % (user, record) 
else: 
    print '%s does not have permission to view %s' % (user, record) 
내가) (jira.user_has_permission을 구현할 수있는 방법

?

참고 : API에 액세스하는 사용자 이외의 사용자에게 주어진 레코드를 볼 수있는 권한이 있는지 여부를 확인하는 기능을 찾고 있습니다.

편집 : 사용자가 주어진 프로젝트 내에서 레코드를 볼 수있는 권한이 있는지 여부를 알려주는 솔루션을 엽니 다. getProjectByKey를 사용하여 getProjectWithSchemesById를 시도했지만 필요한 사용자 정보를 얻을 수 없었습니다.

답변

1

표준 API는 오래 가지만 여기에 있습니다.

getProjectWithSchemesById는 RemoteProject 개체를 제공합니다. 아마도 jira-admin 권한을 가진 사용자가 호출해야합니다. getProjectByKey는 반환 된 값에 권한 구성표를 설정하지 않지만 getProjectWithSchemesById에서 사용할 프로젝트 ID를 가져 오는 편리한 방법입니다.

getProjectWithSchemesById의 RemoteProject 개체에는 RemotePermissionScheme 개체를 반환하는 getPermissionScheme 메서드가 있습니다.

RemotePermissionScheme 객체는 RemoteEntries의 결과 배열은 당신이 찾아 권한을 어느 사용자와 그룹이이를 찾기 위해 반복해야 할 것입니다 getRemoteEntries 방법

있습니다.

~ 마

+0

아마도이 일을 위해 사용자 지정 SOAP 메서드를 작성한다고 생각합니다. – mdoar

0

soap 조작 getIssue는 사용자가 액세스해서는 안되는 권한에 액세스하려고 시도 할 때 http://docs.atlassian.com/rpc-jira-plugin/latest/com/atlassian/jira/rpc/exception/RemotePermissionException.html 을 던집니다.

이것이 파이썬에서 어떻게 수행되는지는 확실치 않지만, 메소드에서 예외를 잡을 수있는 방법이 있어야합니다.

프란시스

+0

안녕하세요 프랜시스, 내가 다른 사용자가 결정하는 API에 대한 문제를 볼 수있는 권한을 가지고 있습니다 찾고 있어요 아니라 API에 액세스하는 사용자가 문제를 볼 수있는 권한이 있는지 여부. – David

관련 문제