如何通过GitLab API获取项目全部分支?解决仅返回20条的问题
如何通过GitLab API获取项目全部分支列表
GitLab API默认采用分页机制,每次请求最多返回20条结果,这就是你只拿到20条分支的原因。要获取完整分支列表,可以通过以下两种方式处理:
调整单页返回数量
GitLab API允许通过per_page参数指定单页返回的条目数,最大值为100。如果你的分支总数不超过100,直接设置该参数即可一次性获取所有分支:curl --header "PRIVATE-TOKEN: <token>" "https://gitlab.com/api/v4/projects/1521/repository/branches?per_page=100"分页遍历所有结果
如果分支总数超过100,需要结合page参数逐页请求,直到获取所有数据:- 先发送一次请求查看总分支数和总页数(通过响应头的
X-Total和X-Total-Pages字段):curl -i --header "PRIVATE-TOKEN: <token>" "https://gitlab.com/api/v4/projects/1521/repository/branches?per_page=100" - 根据总页数,依次请求每一页数据,比如请求第2页:
curl --header "PRIVATE-TOKEN: <token>" "https://gitlab.com/api/v4/projects/1521/repository/branches?per_page=100&page=2" - 重复上述步骤,直到所有页面的请求完成,再合并返回的结果。
- 先发送一次请求查看总分支数和总页数(通过响应头的
内容的提问来源于stack exchange,提问作者Ashish Pratap
相关产品推荐
相关产品推荐

