Можно ли использовать API-интерфейс JIRA SOAP, чтобы определить, может ли данный пользователь просматривать данную запись? - PullRequest
0 голосов
/ 07 апреля 2011

Я хотел бы иметь возможность сделать что-то вроде этого:

#!/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, но не смог получить необходимую информацию о пользователе.

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Это скучно со стандартным API, но здесь вы идете.

getProjectWithSchemesById предоставляет объект RemoteProject. Вероятно, должен вызываться пользователем с правами jira-admin. Обратите внимание, что getProjectByKey не устанавливает схему прав доступа в возвращаемом значении, но это удобный способ получить идентификатор проекта для использования в getProjectWithSchemesById.

Объект RemoteProject из getProjectWithSchemesById имеет метод getPermissionScheme, который возвращает объект RemotePermissionScheme.

Объект RemotePermissionScheme имеет метод getRemoteEntries

Полученный массив RemoteEntries - это то, что вам нужно перебрать, чтобы найти разрешение на просмотр и какие пользователи и группы имеют его.

~ Matt

0 голосов
/ 07 апреля 2011

Операция мыла getIssue вызовет исключение RemotePermissionException http://docs.atlassian.com/rpc-jira-plugin/latest/com/atlassian/jira/rpc/exception/RemotePermissionException.html, когда пользователь пытается получить разрешение, к которому у него нет доступа.

Не уверен, как это делается в python, но я 'Я уверен, что должен быть способ отловить исключение в вашем методе.

Фрэнсис

...