我正在尝试从JIRA REST API获取所有用户。我需要从我自己的Java客户端将所有用户保存到我的数据库中。有可能吗?
如果是这样我们将如何做到这一点?
似乎有一种无证的方式:
使用“查找用户”API
https://docs.atlassian.com/jira/REST/latest/#api/2/user-findUsers
对于用户名查询,请使用%
EG:/ rest / api / 2 / user / search?username =%
您可以获得可分配给特定项目的所有用户。如果每个人都可分配,您将获得所有用户。
/rest/api/2/user/assignable/search?project=PROJECT
卷曲:
curl -D -u USERNAME:PASSWORD -X GET -H "Content-Type: application/json" https://company.atlassian.net/rest/api/2/user/assignable/search?project=PROJECT
没有直接的方法来获取Jira Rest API中的所有用户。如果您有用户在Jira应用程序中轻松分组,则可能必须使用搜索功能(需要传入至少一个字母进行搜索)或组功能。
浏览他们的文档以获得更好的参考。
https://docs.atlassian.com/jira/REST/latest/#d2e2
https://docs.atlassian.com/jira/REST/latest/#d2e808
您可以使用简单的JDBC脚本来创建一些高级脚本,以便通过Java客户端将用户列表写入数据库。
希望这可以帮助!
现在,为了获得JIRA实例的所有云用户,我们必须使用以下REST端点,
https://www.example.atlassian.net/rest/api/2/user/search?query=%
请注意,查询参数将搜索所有属性中的匹配项,包括显示名称,电子邮件地址,昵称等。此更改在用户隐私策略下推出,以使JIRA GDPR兼容。
有关更多信息,请参阅this官方文档。
获取JIRA实例中所有用户的一种可能方法是使用Crowd API的/rest/usermanagement/1/search
端点:
curl -X GET \
'https://jira.url/rest/usermanagement/1/search?entity-type=user&start-index=0&max-results=1000&expand=user' \
-H 'Accept: application/json' -u username:password
请注意,您需要创建一个[新的JIRA用户服务器条目] [3]来创建Crowd凭证(上面的username:password
参数),供您的应用程序在其REST API调用中使用: