Go Proxy API
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、Goパッケージマネージャークライアントと対話します。このAPIは、デフォルトで無効になっている機能フラグの背後にあります。GitLab管理者は、GitLab Railsコンソールにアクセスして、このAPIをGitLabインスタンスで有効にできます。
このAPIは、goコマンドで使用され、通常は手動での利用を想定していません。
これらのエンドポイントは、標準のAPI認証方法に準拠していません。Go Proxyパッケージドキュメントで、サポートされているヘッダーとトークンのタイプに関する詳細を参照してください。記載されていない認証方法は、将来削除される可能性があります。
リスト
指定されたGoモジュールのすべてのタグ付きバージョンを取得します:
GET projects/:id/packages/go/:module_name/@v/list| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのIDまたは完全なパス。 |
module_name | 文字列 | はい | Goモジュールの名前。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "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 | 文字列 | はい | プロジェクトのIDまたは完全なパス。 |
module_name | 文字列 | はい | Goモジュールの名前。 |
module_version | 文字列 | はい | Goモジュールのバージョン。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "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 | 文字列 | はい | プロジェクトのIDまたは完全なパス。 |
module_name | 文字列 | はい | Goモジュールの名前。 |
module_version | 文字列 | はい | Goモジュールのバージョン。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "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>" \
--url "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 | 文字列 | はい | プロジェクトのIDまたは完全なパス。 |
module_name | 文字列 | はい | Goモジュールの名前。 |
module_version | 文字列 | はい | Goモジュールのバージョン。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "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>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip" >> foo.zipこれは現在のディレクトリのfoo.zipに書き込まれます。