You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jira REST API获取全量用户数据 接口仅返回50条如何处理

Jira REST API 拉取全量用户列表解决方案

原因说明

Jira Cloud /rest/api/3/users/search 接口默认开启分页限制,单次请求默认最多返回50条用户数据,全量拉取需要通过分页参数循环调用接口。

核心调用参数说明

你需要在请求URL后追加以下3个查询参数:

  • maxResults:单次请求返回的最大用户数,最高可设置为1000,可减少请求总次数
  • startAt:分页偏移量,从0开始计数,标识当前请求返回的结果从第几条数据开始
  • includeInactive:可选参数,设置为true时会同时返回已禁用的非活跃用户,默认仅返回活跃用户

分页拉取逻辑

  1. 初始化偏移量startAt = 0,设置单次拉取数量maxResults = 1000
  2. 发起接口请求,将当前页返回的用户数据合并到全量列表中
  3. 若当前页返回的用户数量小于你设置的maxResults,说明已拉取完全部数据,终止循环
  4. 若当前页返回的用户数量等于maxResults,将startAt累加maxResults后重复步骤2的请求
  5. 若用户量级较大,可在两次请求之间加10~50ms的延迟,避免触发Jira接口限流

参考代码示例(Python)

import requests

# 基础配置
JIRA_DOMAIN = "https://myurl.atlassian.net"
API_EMAIL = "你的Jira账号邮箱"
API_TOKEN = "你的Jira API Token"

all_users = []
start_at = 0
max_results = 1000

while True:
    url = f"{JIRA_DOMAIN}/rest/api/3/users/search"
    params = {
        "startAt": start_at,
        "maxResults": max_results,
        "includeInactive": "true"
    }
    response = requests.get(url, auth=(API_EMAIL, API_TOKEN), params=params)
    # 接口请求异常直接抛出
    response.raise_for_status()
    current_page_users = response.json()
    all_users.extend(current_page_users)
    # 判断是否还有下一页
    if len(current_page_users) < max_results:
        break
    start_at += max_results

# 打印全量用户数
print(f"共拉取到{len(all_users)}条用户数据")

权限说明

调用接口的账号需要持有Jira全局权限中的*「浏览用户和用户组」*权限,否则可能无法拉取到所有类型的用户数据。

内容的提问来源于stack exchange,提问作者Aashutosh Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:54:06