プロキシ API

GoパッケージのAPIドキュメントです。このAPIは機能フラグの後ろにあり、デフォルトでは無効になっています。GitLab RailsコンソールにアクセスできるGitLab管理者は、あなたのGitLabインスタンスでこのAPIを有効にすることができます。

caution
このAPIはGoクライアントによって使用され、通常は手動で使用するものではありません。

Go Proxy の操作方法については、Go Proxy パッケージのドキュメントを参照してください。

note
これらのエンドポイントは標準の API 認証方法に準拠していません。サポートされているヘッダやトークン型の詳細については、Go Proxy パッケージのドキュメントを参照してください。文書化されていない認証方法は、将来的に削除される可能性があります。

リスト

GitLab 13.1 で導入されました。

指定されたGoモジュールのすべてのタグ付きバージョンを取得します:

GET projects/:id/packages/go/:module_name/@v/list
属性種類必須説明
id文字列です。yesプロジェクトのIDまたはフルパス。
module_name文字列です。yesGoモジュールの名前。
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"

バージョンのメタデータ

GitLab 13.1 で導入されました。

指定されたGoモジュールのすべてのタグ付きバージョンを取得します:

GET projects/:id/packages/go/:module_name/@v/:module_version.info
属性種類必須説明
id文字列です。yesプロジェクトのIDまたはフルパス。
module_name文字列です。yesGoモジュールの名前。
module_version文字列です。yesGoモジュールのバージョン。
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"
}

モジュールファイルのダウンロード

GitLab 13.1 で導入されました。

.mod モジュールファイルを取得します:

GET projects/:id/packages/go/:module_name/@v/:module_version.mod
属性種類必須説明
id文字列です。yesプロジェクトのIDまたはフルパス。
module_name文字列です。yesGoモジュールの名前。
module_version文字列です。yesGoモジュールのバージョン。
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 に書き込みます。

モジュールソースのダウンロード

GitLab 13.1 で導入されました。

モジュールソースの.zip を取得します:

GET projects/:id/packages/go/:module_name/@v/:module_version.zip
属性種類必須説明
id文字列です。yesプロジェクトのIDまたはフルパス。
module_name文字列です。yesGoモジュールの名前。
module_version文字列です。yesGoモジュールのバージョン。
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 に書き込みます。