使用kohsuke github API从Java中的私人仓库下载资产

时间:2020-05-29 00:41:32

标签: java github

我正在尝试从私有存储库下载资产。 我使用kohsuke api,它使我可以查看所有发行版,并且可以从公共存储库下载资产,但是在私人存储库中,我仍然可以查看所有发行版,但不能下载。

出现以下错误:

java.io.FileNotFoundException: https://github.com/*username*/*repo*/releases/download/*tag*/asset.jar
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1909)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245)
    at java.base/java.net.URL.openStream(URL.java:1117)
    at org.apache.commons.io.FileUtils.copyURLToFile(FileUtils.java:1460)

令牌具有所有权限。

1 个答案:

答案 0 :(得分:1)

资产的API路由位于GHAsset.java中,对于私有存储库下载可能不完整:

 return "/repos/" + owner.getOwnerName() + "/" + owner.getName() + "/releases/assets/" + getId();

这是7年前的代码(commit 178c9f

(在另一个项目中)它可能缺少Accept: application/octet-stream标头mentioned here