curl 无法通过API调用提取gitlab下的组

slsn1g29  于 2022-11-13  发布在  Git
关注(0)|答案(1)|浏览(217)

我正在使用shell脚本列出GITLAB下的所有组。它的列表数量巨大,我们如何才能找到所有组,它似乎超过30个。并通过它迭代,以找出组的ID?如果有任何其他解决方案,请建议列出所有组的ID。

grouplist=$(curl --header "PRIVATE-TOKEN: $1" "https://gitlab.com/api/v4/groups?per_page=100&page=30" | jq -r '.[].id')
nbewdwxp

nbewdwxp1#

gitlab文档中说:
在不进行身份验证的情况下访问时,此终结点还支持密钥集分页:
当请求结果的连续页面时,建议您使用键集分页。超出特定偏移限制(由REST API允许的基于偏移的分页的最大偏移指定)时,偏移分页不可用。
有关https://docs.gitlab.com/ee/api/index.html#keyset-based-pagination键集分页的更多详细信息,请参见www.example.com。您必须反复调用curl,直到没有更多结果为止:
当到达集合结尾且没有其他记录可供撷取时,就会缺少Link信头,且产生的数组为空。建议您只使用指定的链接来撷取下一页,而不要建立您自己的URL。
然后,可以将检索到的JSON文档提供给jq。

相关问题