JIRA REST API获取所有用户

Has*_*ghe 9 rest jira jira-rest-api

我正在尝试从JIRA REST API 获取所有用户.我需要从我自己的Java客户端将所有用户保存到我的数据库中. 有可能吗?

如果是这样我们将如何做到这一点?

小智 12

目前时间:

对于吉拉云:

获取所有(活跃+非活跃)用户:

GET /rest/api/2/users/search?query
Run Code Online (Sandbox Code Playgroud)

获取所有活跃用户:

GET /rest/api/2/user/search?query

    
Run Code Online (Sandbox Code Playgroud)

对于 Jira 服务器:

获取所有(活跃+非活跃)用户:

GET /rest/api/2/user/search?username=.&includeInactive=true
Run Code Online (Sandbox Code Playgroud)

获取所有活跃用户:

GET /rest/api/2/user/search?username=.
Run Code Online (Sandbox Code Playgroud)

  • 默认情况下,Jira 仅返回 50 个项目。要获得更多,可以使用“maxResults”。例如`GET /rest/api/2/user/search?username=.&maxResults=1000`。 (5认同)

小智 5

似乎有一种无证的方式:

使用"查找用户"API

https://docs.atlassian.com/jira/REST/latest/#api/2/user-findUsers

对于用户名查询,请使用%

EG:/ rest/api/2/user/search?username =%

  • 这对我来说不起作用,使用JIRA v6.4.3; 也许它在7.0+以上?例如,查询`.../rest/api/2/user/search?username = e`会返回几个结果,但是`.../rest/api/2/user/search?username =%`或` ...... =%25`什么都不返回. (2认同)
  • 尝试使用参数 `username` = `.` 代替 `/user/search`。例如。`/rest/api/2/user/search?username=.&includeActive=true&includeInactive=false` 获取所有活跃用户。 (2认同)

Ogg*_*las 5

您可以获得可分配给特定项目的所有用户。如果每个人都是可分配的,您将获得所有用户。

/rest/api/2/user/assignable/search?project=PROJECT
Run Code Online (Sandbox Code Playgroud)

卷曲:

curl -D -u USERNAME:PASSWORD -X GET -H "Content-Type: application/json" https://company.atlassian.net/rest/api/2/user/assignable/search?project=PROJECT
Run Code Online (Sandbox Code Playgroud)


Kis*_*ala 0

没有直接的方法可以获取 Jira Rest API 中的所有用户。如果您在 Jira 应用程序中轻松对用户进行了分组,您可能必须使用搜索功能(这需要至少输入一个字母进行搜索)或组功能。

浏览他们的文档以获得更好的参考。

https://docs.atlassian.com/jira/REST/latest/#d2e2

https://docs.atlassian.com/jira/REST/latest/#d2e808

您可以使用简单的 JDBC 脚本到一些高级脚本,通过 Java 客户端将用户列表写入数据库。

希望这可以帮助!