【问题标题】:How to download GitHub release asset from private repo using only java如何仅使用 java 从私有仓库下载 GitHub 发布资产
【发布时间】:2017-06-24 18:53:25
【问题描述】:
【问题讨论】:
标签:
java
git
github
github-api
【解决方案1】:
下面sn-p说明原理。
String credentials = "github.credentials";
GitHub gitHub = GitHubBuilder.fromPropertyFile(credentials)
.withRateLimitHandler(RateLimitHandler.FAIL)
.build();
GHRepository repository = gitHub.getRepository("suboptimal/examples-repo");
for (GHRelease release : repository.listReleases()) {
System.out.println("release: " + release.getName());
System.out.println("assets :");
for (GHAsset asset : release.getAssets()) {
System.out.printf(" %s - %s%n", asset.getName(),
asset.getBrowserDownloadUrl());
}
}
假设文件github.credentials 包含
login=your_user_name
password=your_access_token
可以在https://github.com/settings/tokens 为您的 GitHub 用户创建访问令牌。
输出
release: v0.1
assets :
asset-demo.txt - https://github.com/SubOptimal/examples-repo/releases/download/v0.1/asset-demo.txt
您可以在
https://api.github.com/repos/SubOptimal/examples-repo/releases/assets/28055588 进行验证
(对于私人仓库,您需要登录 GitHub)。