如何从 Github Package Registry 下载特定发布版本的 JAR

How to download a JAR from Github Package Registry for a specific Release version

目标

我想要两个存储库:


即我正在搜索 API,它看起来像:

wget https://github.com/repoOwner/repoName/packages/1.2.3/my.jar

问题

是否有 Github 操作或 API 允许我从 Github 包注册表 下载工件 特定版本?

问题

我知道有一个 Github API for the artifacts 但我不知道如何请求工件 URL 特定版本.

Github包注册表下载JAR使用这个URL:

https://maven.pkg.github.com/OWNER/REPO/PACKAGE/VERSION/ARTIFACT.jar
  • 使用您的个人开发人员令牌和帐户名进行身份验证
    • 对于 public 个存储库,令牌不需要特殊权限
    • 对于私有存储库,令牌只需要 package:read 权限
  • OWNER替换为仓库的Github账户名 拥有者
  • REPO替换为存储库名称
  • PACKAGE替换为您发布的群组ID
  • VERSION替换为您发布的工件版本
  • ARTIFACT 替换为您发布的工件 ID

例如对于 this 包,只发布了一个 pom 文件:

https://maven.pkg.github.com/abrensch/brouter/org/btools/brouter/1.6.1/brouter-1.6.1.pom

@hb0 回答得很好,对我帮助很大。

我只是补充一下我的经验,也许它可以帮助别人。

我试图用这个命令下载 jar 文件:

curl -O --header "Authorization: Bearer $MYSECRETTOKEN" https://maven.pkg.github.com/myorg/myrepo/com/org/mypackage/1.0.0/mypackage-1.0.0.jar

但它正在返回:

Moved Permanently

然后我不得不将命令更改为:

curl -O -L https://_:$MYSECRETTOKEN@maven.pkg.github.com/myorg/myrepo/com/org/mypackage/1.0.0/mypackage-1.0.0.jar

其中 $MYSECRETTOKEN 是一个带有 github 标记的环境变量,您可能已经猜到了。