Java 使用Jgit以编程方式检索Github帐户下的所有存储库

Java 使用Jgit以编程方式检索Github帐户下的所有存储库,java,github,jgit,Java,Github,Jgit,我对JGit客户有点挑战。我将它嵌入到一个Java应用程序中&我想在Github上获取一个帐户下的所有存储库并显示它们。此外,我还可以使用JGit直接在Github上创建一个存储库。比如创建远程存储库 我经历过这个,但对我来说它似乎是普通的。提前感谢您可以从任何语言(包括Java)调用它,它与JGit无关 GET /users/:username/repos Java库进行这些调用的一个例子是“”及其方法 新页面编辑器( root.retrieve(), GHRepository[]类,页面大

我对JGit客户有点挑战。我将它嵌入到一个Java应用程序中&我想在Github上获取一个帐户下的所有存储库并显示它们。此外,我还可以使用JGit直接在Github上创建一个存储库。比如创建远程存储库

我经历过这个,但对我来说它似乎是普通的。提前感谢

您可以从任何语言(包括Java)调用它,它与JGit无关

GET /users/:username/repos
Java库进行这些调用的一个例子是“”及其方法

新页面编辑器(
root.retrieve(),
GHRepository[]类,页面大小)

一旦您获得了这些用户repo的url,您就可以从中创建JGit repo了。

我也按照同样的要求获取特定用户的存储库列表 试试这个,你会得到该用户的所有存储库 //此处名称表示GitHub帐户的用户名

public Collection<AuthMsg> getRepos(String name) {

    String url = "https://api.github.com/users/"+name+"/repos";

    String data = getJSON(url);
    System.out.println(data);

    Type collectionType = new TypeToken<Collection<AuthMsg>>(){}.getType();
    Collection<AuthMsg> enums = new Gson().fromJson(data, collectionType);

    return enums;

}
//AuthMsg类

public class AuthMsg {
//"name" which is in json what we get from url
@SerializedName("name")
private String repository;

/**
 * @return the repository
 */
public String getRepository() {
    return repository;
}

/**
 * @param repository the repository to set
 */
public void setRepository(String repository) {
    this.repository = repository;
}

}

是的,你也可以创建回购协议:这现在是有意义的。谢谢甚至没有使用API,只是直接从URL调用#openStream()请发布您的代码,以及您遇到的错误。@Sachith我本来会的,但实际上我不知道怎么做。@Sachith您不需要API来检索它。您可以通过一个简单的JavaURL请求来完成。
public String getJSON(String url) {
    HttpURLConnection c = null;
    try {
        URL u = new URL(url);
        c = (HttpURLConnection) u.openConnection();
        c.setRequestMethod("GET");
        c.setRequestProperty("Content-length", "0");
        c.setUseCaches(false);
        c.setAllowUserInteraction(false);
        c.connect();
        int status = c.getResponseCode();

        switch (status) {                                      
            case 200:
            case 201:
                BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
                StringBuilder sb = new StringBuilder();
                String line;
                while ((line = br.readLine()) != null) {
                    sb.append(line+"\n");
                }
                br.close();
                return sb.toString();
        }

    } catch (MalformedURLException ex) {
        Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
    } finally {
       if (c != null) {
          try {
              c.disconnect();
          } catch (Exception ex) {
             Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
          }
       }
    }
    return null;
}
public class AuthMsg {
//"name" which is in json what we get from url
@SerializedName("name")
private String repository;

/**
 * @return the repository
 */
public String getRepository() {
    return repository;
}

/**
 * @param repository the repository to set
 */
public void setRepository(String repository) {
    this.repository = repository;
}