如何过滤语言以使用curl克隆多个GitHub存储库?

我正在一个企业GitHub中拥有约500个存储库的组织中工作。我发现有些卷曲可以一次克隆所有存储库,但是我似乎找不到找到按语言过滤脚本的方法。这是我正在使用的卷曲:

curl -s -H "Authorization: token [token]" https://github.[company].com/api/v3/orgs/[organization]/repos?page=1&per_page=100 | jq '.[].ssh_url' | xargs -n 1 git clone

克隆每个存储库是很好的方法,但是显然,当我只需要特定的语言时,这样做效率不高。我尝试了搜索中发现的所有建议变体,例如包括 / search / repositories / 字符串,?language = ?q = language :参数。它只是完全跳过了过滤器,仍然返回完整的回购清单,为组织提供了基本的JSON响应,或者返回了“未找到”消息。

在这种情况下,是否有人知道如何按语言过滤,或者有更好的解决方案来克隆按语言过滤的多个存储库?我正在尝试使Jenkins和/或Docker中的一些过程自动化,这些过程需要在所有目标存储库中进行搜索和解析。

谢谢

rainlinlin 回答:如何过滤语言以使用curl克隆多个GitHub存储库?

我不知道是否可以将其作为API请求的一部分进行过滤,但是您当然可以使用jq进行过滤。例如,我可以这样获取Python项目的SSH网址列表:

curl -s -H "Authorization: token $token" https://api.github.com/user/repos |
  jq  '.[]|select(.language = "Python").ssh_url'
本文链接:https://www.f2er.com/3114244.html

大家都在问