克隆私有 GitHub 存储库,作为 GitHub 应用程序进行身份验证

lav*_*lle 9 git github

我正在构建一个 CI 应用程序,它按计划或每次合并新代码时通过 Webhook 对 GitHub 存储库的内容进行一些工作。

我创建了一个 GitHub 应用程序并完成了所有设置,以便用户可以使用它登录、授予其对其存储库的访问权限并配置其 CI 作业。

我无法找到有关如何通过身份验证连接我的 GitHub 应用程序的用户来克隆完整存储库内容(如果是私有的)的文档。我找到了有关获取存储库树的文档,但似乎我仍然需要查看 JSON 响应并单独下载每个文件,这感觉就像我自己重新实现 Git 克隆。

现在我只是git clone从 CI 脚本中将命令作为子进程启动。只是想知道这里的解决方案是什么。我应该使用 libgit2 吗?或者使用树 API 并下载所有文件?

wol*_*all 38

回答这个问题可能有点晚了,GitHub 可以选择通过应用程序请求的访问令牌来克隆存储库。

Github 文档

git clone https://x-access-token:<token>@github.com/owner/repo.git
Run Code Online (Sandbox Code Playgroud)

  • 永远不会太迟。这对很多人都有帮助,而不仅仅是最初的提问者。 (4认同)