Go Proxy API
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、Goパッケージマネージャークライアントとやり取りします。このAPIは、機能フラグの背後にあり、デフォルトで無効になっています。GitLabインスタンスのこのAPIを有効にできるのは、GitLab Railsコンソールへのアクセス権を持つ管理者のみです。
この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に書き込まれます。