Help us learn about your current experience with the documentation. Take the survey.
Go 代理 API
- Tier: 免费版, 专业版, 旗舰版
- Offering: GitLab 自管版, GitLab 专属版
这是 Go Packages 的 API 文档。 此 API 默认处于功能标志(feature flag)的保护之下,且默认为禁用状态。有权访问 GitLab Rails 控制台的管理员可以为您所在的 GitLab 实例启用此 API。
此 API 供 Go 客户端使用,通常不适用于手动操作。
有关如何使用 Go 代理的说明,请参阅 Go 代理包文档。
这些端点不遵循标准的 API 身份验证方法。有关支持的请求头(headers)和令牌(token)类型的详细信息,请参阅 Go 代理包文档。未来可能会移除未在文档中说明的身份验证方法。
列出
获取指定 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 文件。