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