You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GitHub API获取软件包的最新版本?

使用GitHub API获取GitHub Packages最新版本的方法

GitHub API目前没有直接返回软件包最新版本的端点,你需要通过以下步骤手动筛选并下载:

  • 第一步:拉取目标软件包的所有版本列表
    根据你的包所属的组织或个人账号,调用对应的版本列表API:

    • 组织名下的包:GET /orgs/{org}/packages/{package_type}/{package_name}/versions
    • 个人名下的包:GET /users/{username}/packages/{package_type}/{package_name}/versions
      替换参数说明:
    • {org}/{username}:包所属的组织名或用户名
    • {package_type}:包的类型,你的JAR/WAR属于maven类型
    • {package_name}:你的软件包名称
      请求时需要带上拥有read:packages权限的GitHub令牌,放在请求头Authorization: token YOUR_TOKEN里。
  • 第二步:筛选出最新版本
    API返回的版本数组里,每个版本对象包含created_at(版本创建时间)和name(版本号)字段,你可以通过两种方式筛选:

    1. 按创建时间排序:直接取created_at值最晚的版本,这是最直接的方式,无需解析版本号
    2. 按语义化版本号排序:如果你的版本遵循语义化规则(如1.3.2),可以解析版本号字符串,比较出数值最大的版本
      举个伪代码逻辑参考:
    const versions = 获取到的版本数组
    let latestVersion = versions[0]
    for (const version of versions) {
      if (new Date(version.created_at) > new Date(latestVersion.created_at)) {
        latestVersion = version
      }
    }
    
  • 第三步:下载最新版本的包文件
    在筛选出的latestVersion对象中,找到assets数组,其中每个元素对应一个可下载的文件(你的JAR/WAR就在这里)。元素里的url字段就是该文件的下载API地址,直接请求这个地址即可下载,同样需要带上之前的身份令牌。

内容的提问来源于stack exchange,提问作者E-Riz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 18:52:08