Go 代理 API

本文是 Go 软件包的 API 文档。 此 API 位于默认禁用的功能标志后面。有权访问极狐GitLab Rails 控制台的极狐GitLab 管理员可以为您的极狐GitLab 实例启用此 API。

cautionGo 客户端使用此 API 并且通常不适合手动使用。

有关如何使用 Go 代理的说明,请参阅 Go 代理包文档

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

列表

获取特定 Go 模块的所有打标签的版本。

GET projects/:id/packages/go/:module_name/@v/list
参数 类型 是否必需 描述
id string yes 项目的 ID 或完整路径
module_name string yes 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 yes 项目的 ID 或完整路径
module_name string yes Go 模块的名称
module_version string yes 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 yes 项目的 ID 或完整路径
module_name string yes Go 模块的名称
module_version string yes 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 yes 项目的 ID 或完整路径
module_name string yes Go 模块的名称
module_version string yes 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