正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

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に書き込まれます。