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