如何仅使用java从私有仓库下载GitHub版本资产

时间:2017-02-07 13:41:10

标签: java git github

我已经看过How to download GitHub Release from private repo using command line如何从命令行下载github发布资产,但我想知道是否有人想过如何在100%java中做到这一点?我可以使用https://github.com/kohsuke/github-api找到资产的ID,并拥有所有者和存储库名称。

1 个答案:

答案 0 :(得分:0)

以下代码段显示了原则。

String credtials = "github.credentials";
GitHub gitHub = GitHubBuilder.fromPropertyFile(credtials)
        .withRateLimitHandler(RateLimitHandler.FAIL)
        .build();
GHRepository repository = gitHub.getRepository("shaunlebron/api-docs");
for (GHRelease release : repository.listReleases()) {
    System.out.println(release.getName());
    for (GHAsset a : release.getAssets()) {
        System.out.println("  -> " + a.getName());
    }
}

假设文件github.credentials包含

login=your_user_name
password=your_access_token

可以在https://github.com/settings/tokens为您的Github用户创建访问令牌。

输出

docs-release
  -> cljsdocs-full.edn
  -> cljsdocs-report.edn

您从GHAsset.getBrowserDownloadUrl()获得的下载网址。

您可以在https://api.github.com/repos/shaunlebron/api-docs/releases验证它(您需要登录Github)。