使用 Java 检查 Git 存储库是私有还是公共(例如 GitHub)

Lex*_*Sav 5 java git github jira jgit

在我们开始之前:我是新手,所以我很抱歉

快速描述:

我有一个 Jira 插件,可以跟踪所选 git 提供程序中指定存储库的当前状态,例如 GitHub(跟踪提交、分支等)并将其显示在 JIRA 问题视图中

我需要检查我添加到插件的存储库是私有的还是公共的。如果是私人的,我需要请求其凭据。

有没有办法在 Java 中检查这种情况(例如通过 JGit)?

PS 我通过 HTTPS 链接将存储库添加到我的插件中

Bha*_*nal 7

具体来说,GitHub 提供了 REST API 来列出用户存储库。根据开发人员文档,您可以使用 GET 来获取用户的所有存储库,并且“可见性”是一个参数

GET /user/repos
Run Code Online (Sandbox Code Playgroud)

参数:visibility 类型:string 值:all, public,private

响应还有一个"private": false可以轻松从响应中解析的参数。

更多信息:https ://developer.github.com/v3/repos/#list-user-repositories

  • 有两种不同的 API。一种用于列出您自己的存储库,甚至允许列出私人存储库。一个列出任何人的存储库但未列出私有存储库的存储库(这将具有讽刺意味,并且与私有的含义相反!)。我相信@LexSav 正在列出他自己的存储库。 (3认同)