2011-04-07 22 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中使用項目標識。

getProjectWithSchemesById中的RemoteProject對象具有返回RemotePermissionScheme對象的getPermissionScheme方法。

的RemotePermissionScheme對象有一個getRemoteEntries方法

產生的RemoteEntries的數組是你需要遍歷查找瀏覽權限以及用戶和組有它的東西。

〜馬特

+0

我想我可能會編寫一個自定義SOAP方法來執行此操作。 – mdoar 2011-04-07 20:34:00

0

當用戶嘗試訪問她不應訪問的權限時,soap操作getIssue將拋出RemotePermissionException http://docs.atlassian.com/rpc-jira-plugin/latest/com/atlassian/jira/rpc/exception/RemotePermissionException.html

不知道這是如何在python中完成的,但我確定應該有一種方法來捕獲您的方法中的異常。

弗朗西斯

+0

弗朗西斯嗨,我正在尋找一個API以確定不同的用戶權限來看待這個問題,而不是誰在訪問API的用戶是否有權限查看的問題。 – David 2011-04-07 18:31:57

相關問題