{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

这是Go 软件包的 API 文档。这个 API 在默认情况下被禁用的功能 FLAG 后面。拥有极狐 GitLab Rails 控制台访问权限的极狐 GitLab 管理员可以为您的极狐 GitLab 实例启用这个 API。

{{< alert type=”warning” >}}

这个 API 是由 Go 客户端使用的,通常不适合手动使用。

{{< /alert >}}

有关如何使用 Go Proxy 的说明,请参阅Go Proxy 软件包文档

{{< alert type=”note” >}}

这些端点不遵循标准的 API 身份验证方法。有关支持的头和令牌类型的详细信息,请参阅Go Proxy 软件包文档。未记录的身份验证方法可能会在将来删除。

{{< /alert >}}

列表

获取给定 Go 模块的所有标记版本:

GET projects/:id/packages/go/:module_name/@v/list
属性 类型 必需 描述
id string 项目 ID 或项目的完整路径。
module_name string Go 模块的名称。
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/list"

示例输出:

"v1.0.0\nv1.0.1\nv1.3.8\n2.0.0\n2.1.0\n3.0.0"

版本元数据

获取给定 Go 模块的所有标记版本:

GET projects/:id/packages/go/:module_name/@v/:module_version.info
属性 类型 必需 描述
id string 项目 ID 或项目的完整路径。
module_name string Go 模块的名称。
module_version string Go 模块的版本。
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.info"

示例输出:

{
  "Version": "v1.0.0",
  "Time": "1617822312 -0600"
}

下载模块文件

获取 .mod 模块文件:

GET projects/:id/packages/go/:module_name/@v/:module_version.mod
属性 类型 必需 描述
id string 项目 ID 或项目的完整路径。
module_name string Go 模块的名称。
module_version string Go 模块的版本。
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.mod"

写入到文件:

curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.mod" >> foo.mod

这会写入到当前目录下的 foo.mod

下载模块源码

获取模块源码的 .zip 文件:

GET projects/:id/packages/go/:module_name/@v/:module_version.zip
属性 类型 必需 描述
id string 项目 ID 或项目的完整路径。
module_name string Go 模块的名称。
module_version string Go 模块的版本。
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip"

写入到文件:

curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip" >> foo.zip

这会写入到当前目录下的 foo.zip