使用RESTAPI查找Jira中的所有用户
我正在尝试使用REST API列出Jira中的所有用户,目前我正在使用GET: 问题是它说,默认情况下,结果将显示50个第一个结果,我们可以将结果扩展到1000个。与RESTAPI中的其他可用功能相比,此处未指定分页。 例如,组成员功能: 因此,我做了一个测试,我的测试Jira有两个成员,试图只得到一个结果,看看是否有某种迹象表明我的其他结果。 提供的回复只会给出结果,没有办法知道是否有超过N 1000(或者在我的示例中是1),这可能是合乎逻辑的,但是对于一个拥有超过1000名成员的组织,列出所有执行此操作的用户:使用RESTAPI查找Jira中的所有用户,rest,jira,jira-rest-api,Rest,Jira,Jira Rest Api,我正在尝试使用REST API列出Jira中的所有用户,目前我正在使用GET: 问题是它说,默认情况下,结果将显示50个第一个结果,我们可以将结果扩展到1000个。与RESTAPI中的其他可用功能相比,此处未指定分页。 例如,组成员功能: 因此,我做了一个测试,我的测试Jira有两个成员,试图只得到一个结果,看看是否有某种迹象表明我的其他结果。 提供的回复只会给出结果,没有办法知道是否有超过N 1000(或者在我的示例中是1),这可能是合乎逻辑的,但是对于一个拥有超过1000名成员的组织,列出所
http://jira/rest/api/2/user/search?username=.&maxResults=1000&includeInactive=true
最多只能给出1000个结果
我正在获取所有用户,无论他们的名字是什么,都使用
作为匹配字符
谢谢你的帮助 您可以做的是手动计算用户数量 假设您的系统中有98个用户 第一次搜索将为您提供50个用户。现在你有了一个数组,你可以得到这个数组的长度是50 由于您不知道是否有50个或51个用户,因此可以使用参数
&startAt=50
执行另一个搜索
这一次,数组长度是48而不是50,并且您知道已经到达了系统中的所有用户。与Atlassian支持人员交谈时,它看起来像是
用户/搜索
端点
获取JIRA实例中所有用户的另一种可能方法是使用群组API的端点:
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
您需要创建群组凭据(上面的username:password
参数),以便应用程序在其REST API调用中使用:
- 转到用户管理李>
- 选择JIRA用户服务器
- 添加一个应用程序
- 输入应用程序在访问JIRA服务器应用程序时将使用的应用程序名称和密码
- 输入应用程序的IP地址、地址或IP CIDR块,然后单击保存
total
。不幸的是,您可以获得的最大用户数是1000。您的curl
示例包括基于令牌的授权,但您的步骤描述了设置基于密码的外部应用程序。如何将这些凭据与外部应用程序(如curl
)一起使用?此外,还需要为外部应用程序指定IP地址或范围。当应用程序可以在基于DHCP的客户端上运行时,您如何处理这个问题?谢谢@jimtut,我已经更新了我的答案,以显示username:password参数也可以工作。在基于DHCP的客户端中,您仍然会运气不佳,但至少可以指定一个CIDR范围,以防您的客户端有一个可能连接到JIRA的IP范围。