我尝试使用REST API列出Jira中的所有用户,我目前正在使用GET使用搜索用户功能:https://docs.atlassian.com/jira/REST/server/#api/2/user-findUsers
事情就是说,结果将默认显示50个第一个结果,并且我们可以将结果扩展到1000个。与REST API中可用的其他功能相比,此处的分页未指定。 一个例子是组成员功能:https://docs.atlassian.com/jira/REST/server/#api/2/group-getUsersFromGroup
因此,我做了一个测试,我的测试Jira充满了2个成员,试图只得到一个结果,看看是否有某种指示指的是我的结果的其余部分。
提供的回复只会给出结果而没有办法知道是否有更多的1000(或我的例子中为1),它可能是合乎逻辑的,但对于一个拥有超过1000名成员的组织,列出所有这样做的用户:http://jira/rest/api/2/user/search?username=.&maxResults=1000&includeInactive=true
最多只能提供1000个结果。
我得到了所有用户,无论他们的名字使用.
作为匹配字符。
感谢您的帮助!
答案 0 :(得分:1)
您可以做的是手动计算用户数量。
假设您的系统中有98个用户。
首次搜索会为您提供50个用户。现在你有一个数组,你可以得到该数组的长度为50。
由于您不知道是否有50或51个用户,因此您使用参数&startAt=50
执行另一次搜索。
这次数组长度为48而不是50,你知道你已经到达了系统中的所有用户。
答案 1 :(得分:0)
从说话到Atlassian支持,似乎user/search
端点has a bug where it will only ever return the first 1,000 results at most。
获取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
您需要创建一个new JIRA User Server entry来创建人群凭证(上面的username:password
参数),以供您的应用程序在其REST API调用中使用: