Maven仮想レジストリAPI
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ版
このAPIを使用して、以下を行います:
- Maven仮想レジストリを作成および管理します。
- アップストリームレジストリを設定します。
- キャッシュエントリを管理します。
- パッケージのダウンロードとアップロードを処理します。
仮想レジストリを管理する
Maven仮想レジストリを作成および管理するには、次のエンドポイントを使用します。
すべての仮想レジストリをリストする
グループのすべてのMaven仮想レジストリをリストします。
GET /groups/:id/-/virtual_registries/packages/maven/registriesサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列/整数 | はい | グループIDまたはグループのフルパス。トップレベルグループである必要があります。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/packages/maven/registries"レスポンス例:
[
{
"id": 1,
"group_id": 5,
"name": "my-virtual-registry",
"description": "My virtual registry",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z"
}
]仮想レジストリを作成する
グループのMaven仮想レジストリを作成します。
POST /groups/:id/-/virtual_registries/packages/maven/registries| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列/整数 | はい | グループIDまたはグループのフルパス。トップレベルグループである必要があります。 |
name | 文字列 | はい | 仮想レジストリの名前。 |
description | 文字列 | いいえ | 仮想レジストリの説明。 |
リクエスト例:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data '{"name": "my-virtual-registry", "description": "My virtual registry"}' \
--url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/packages/maven/registries"レスポンス例:
{
"id": 1,
"group_id": 5,
"name": "my-virtual-registry",
"description": "My virtual registry",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z"
}仮想レジストリを取得する
特定のMaven仮想レジストリを取得します。
GET /virtual_registries/packages/maven/registries/:idパラメータは以下のとおりです。
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registries/1"レスポンス例:
{
"id": 1,
"group_id": 5,
"name": "my-virtual-registry",
"description": "My virtual registry",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z"
}仮想レジストリを更新する
特定のMaven仮想レジストリを更新します。
PATCH /virtual_registries/packages/maven/registries/:id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
name | 文字列 | はい | 仮想レジストリの名前。 |
description | 文字列 | いいえ | 仮想レジストリの説明。 |
リクエスト例:
curl --request PATCH \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"name": "my-virtual-registry", "description": "My virtual registry"}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registries/1"成功した場合、200 OKステータスコードを返します。
仮想レジストリを削除する
特定のMaven仮想レジストリを削除します。
DELETE /virtual_registries/packages/maven/registries/:id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
リクエスト例:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registries/1"成功した場合、204 No Contentステータスコードを返します。
仮想レジストリのキャッシュエントリを削除する
Maven仮想レジストリのすべての排他的なアップストリームレジストリのすべてのキャッシュエントリを削除するようにスケジュールします。キャッシュエントリは、他の仮想レジストリに関連付けられているアップストリームレジストリに対して削除するようにスケジュールされていません。
DELETE /virtual_registries/packages/maven/registries/:id/cache| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
リクエスト例:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registries/1/cache"成功した場合、204 No Contentステータスコードを返します。
アップストリームレジストリを管理する
次のエンドポイントを使用して、アップストリームMavenレジストリを設定および管理します。
トップレベルグループのすべてのアップストリームレジストリをリストする
トップレベルグループのすべてのアップストリームレジストリをリストします。
GET /groups/:id/-/virtual_registries/packages/maven/upstreamsサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列/整数 | はい | グループIDまたはグループのフルパス。トップレベルグループである必要があります。 |
page | 整数 | いいえ | ページ番号。デフォルトは1です。 |
per_page | 整数 | いいえ | ページあたりのアイテム数。デフォルトは20です。 |
upstream_name | 文字列 | いいえ | 名前でファジー検索フィルタリングを行うためのアップストリームレジストリの名前。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/packages/maven/upstreams"レスポンス例:
[
{
"id": 1,
"group_id": 5,
"url": "https://repo.maven.apache.org/maven2",
"name": "Maven Central",
"description": "Maven Central repository",
"cache_validity_hours": 24,
"metadata_cache_validity_hours": 24,
"username": "user",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z"
}
]アップストリームレジストリを作成する前に接続をテストする
仮想レジストリに追加されていないMavenアップストリームレジストリへの接続をテストします。このエンドポイントは、アップストリームレジストリを作成する前に、接続と認証情報を検証します。
POST /groups/:id/-/virtual_registries/packages/maven/upstreams/testサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列/整数 | はい | グループIDまたはグループのフルパス。トップレベルグループである必要があります。 |
url | 文字列 | はい | アップストリームレジストリのURL。 |
password | 文字列 | いいえ | アップストリームレジストリのパスワード。 |
username | 文字列 | いいえ | アップストリームレジストリのユーザー名。 |
テストワークフロー
testエンドポイントは、接続と認証を検証するために、テストパスを使用して、指定されたアップストリームURLにHEADリクエストを送信します。HEADリクエストから受信したレスポンスは、次のように解釈されます:
| アップストリームレスポンス | 説明 | 結果 |
|---|---|---|
| 2XX | 成功 - アップストリームアクセス可能 | { "success": true } |
| 404 | 成功 - アップストリームはアクセス可能ですが、テストアーティファクトが見つかりません | { "success": true } |
| 401 | 認証に失敗しました | { "success": false, "result": "Error: 401 - Unauthorized" } |
| 403 | アクセスが禁止されました | { "success": false, "result": "Error: 403 - Forbidden" } |
| 5XX | アップストリームサーバーエラー | { "success": false, "result": "Error: 5XX - Server Error" } |
| ネットワークエラー | 接続またはタイムアウトの問題 | { "success": false, "result": "Error: Connection timeout" } |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/packages/maven/upstreams/test" \
--data '{"url": "https://repo.maven.apache.org/maven2"}'レスポンス例:
{
"success": true
}仮想レジストリのすべてのアップストリームレジストリをリストする
Maven仮想レジストリのすべてのアップストリームレジストリをリストします。
GET /virtual_registries/packages/maven/registries/:id/upstreamsサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registries/1/upstreams"レスポンス例:
[
{
"id": 1,
"group_id": 5,
"url": "https://repo.maven.apache.org/maven2",
"name": "Maven Central",
"description": "Maven Central repository",
"cache_validity_hours": 24,
"metadata_cache_validity_hours": 24,
"username": "user",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z",
"registry_upstream": {
"id": 1,
"registry_id": 1,
"position": 1
}
}
]アップストリームレジストリを作成する
アップストリームレジストリをMaven仮想レジストリに追加します。
POST /virtual_registries/packages/maven/registries/:id/upstreams| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
url | 文字列 | はい | アップストリームレジストリのURL。 |
cache_validity_hours | 整数 | いいえ | キャッシュの有効期間。デフォルトは24時間です。 |
description | 文字列 | いいえ | アップストリームレジストリの説明。 |
metadata_cache_validity_hours | 整数 | いいえ | メタデータキャッシュの有効期間。デフォルトは24時間です。 |
name | 文字列 | いいえ | アップストリームレジストリの名前。 |
password | 文字列 | いいえ | アップストリームレジストリのパスワード。 |
username | 文字列 | いいえ | アップストリームレジストリのユーザー名。 |
usernameとpasswordの両方をリクエストに含めるか、まったく含めない必要があります。設定されていない場合、パブリック(匿名)リクエストを使用してアップストリームにアクセスします。
同じURLと認証情報(usernameとpassword)を持つ2つのアップストリームを同じトップレベルグループに追加することはできません。代わりに、次のいずれかを実行できます。
- 同じURLを持つ各アップストリームに異なる認証情報を設定します。
- 複数の仮想レジストリと関連付けるアップストリーム。
リクエスト例:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"url": "https://repo.maven.apache.org/maven2", "name": "Maven Central", "description": "Maven Central repository", "username": <your_username>, "password": <your_password>, "cache_validity_hours": 48, "metadata_cache_validity_hours": 1}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registries/1/upstreams"レスポンス例:
{
"id": 1,
"group_id": 5,
"url": "https://repo.maven.apache.org/maven2",
"name": "Maven Central",
"description": "Maven Central repository",
"cache_validity_hours": 48,
"metadata_cache_validity_hours": 1,
"username": "user",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z",
"registry_upstream": {
"id": 1,
"registry_id": 1,
"position": 1
}
}アップストリームレジストリを取得する
Maven仮想レジストリの特定のアップストリームレジストリを取得します。
GET /virtual_registries/packages/maven/upstreams/:idパラメータは以下のとおりです。
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1"レスポンス例:
{
"id": 1,
"group_id": 5,
"url": "https://repo.maven.apache.org/maven2",
"name": "Maven Central",
"description": "Maven Central repository",
"cache_validity_hours": 24,
"metadata_cache_validity_hours": 24,
"username": "user",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z",
"registry_upstreams": [
{
"id": 1,
"registry_id": 1,
"position": 1
}
]
}アップストリームレジストリを更新する
Maven仮想レジストリの特定のアップストリームレジストリを更新します。
PATCH /virtual_registries/packages/maven/upstreams/:id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
cache_validity_hours | 整数 | いいえ | キャッシュの有効期間。デフォルトは24時間です。 |
description | 文字列 | いいえ | アップストリームレジストリの説明。 |
metadata_cache_validity_hours | 整数 | いいえ | メタデータキャッシュの有効期間。デフォルトは24時間です。 |
name | 文字列 | いいえ | アップストリームレジストリの名前。 |
password | 文字列 | いいえ | アップストリームレジストリのパスワード。 |
url | 文字列 | いいえ | アップストリームレジストリのURL。 |
username | 文字列 | いいえ | アップストリームレジストリのユーザー名。 |
usernameとpasswordは、一緒に指定するか、まったく指定しないでください。設定されていない場合、パブリック(匿名)リクエストを使用してアップストリームにアクセスします。
リクエスト例:
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"cache_validity_hours": 72}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1"成功した場合、200 OKステータスコードを返します。
アップストリームレジストリの位置を更新する
Maven仮想レジストリの順序付けられたリストで、アップストリームレジストリの位置を更新します。
PATCH /virtual_registries/packages/maven/registry_upstreams/:id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
position | 整数 | はい | アップストリームレジストリの位置。1~20の間。 |
リクエスト例:
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"position": 5}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registry_upstreams/1"成功した場合、200 OKステータスコードを返します。
アップストリームレジストリを削除する
Maven仮想レジストリの特定のアップストリームレジストリを削除します。
DELETE /virtual_registries/packages/maven/upstreams/:id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
リクエスト例:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1"成功した場合、204 No Contentステータスコードを返します。
レジストリとアップストリームを関連付ける
既存のアップストリームレジストリをMaven仮想レジストリに関連付けます。
POST /virtual_registries/packages/maven/registry_upstreams| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
registry_id | 整数 | はい | Maven仮想レジストリのID。 |
upstream_id | 整数 | はい | MavenアップストリームレジストリのID。 |
リクエスト例:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data '{"registry_id": 1, "upstream_id": 2}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registry_upstreams"レスポンス例:
{
"id": 5,
"registry_id": 1,
"upstream_id": 2,
"position": 2
}レジストリからアップストリームの関連付けを解除する
アップストリームレジストリとMaven仮想レジストリの間の関連付けを削除します。
DELETE /virtual_registries/packages/maven/registry_upstreams/:id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | レジストリアップストリームの関連付けのID。 |
リクエスト例:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/registry_upstreams/1"成功した場合、204 No Contentステータスコードを返します。
アップストリームレジストリのキャッシュエントリを削除する
Maven仮想レジストリ内の特定のアップストリームレジストリの削除のためにすべてのキャッシュエントリをスケジュールします。
DELETE /virtual_registries/packages/maven/upstreams/:id/cache| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
リクエスト例:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/cache"成功した場合、204 No Contentステータスコードを返します。
アップストリームレジストリへの接続をテストする
既存のMavenアップストリームレジストリへの接続をテストします。
GET /virtual_registries/packages/maven/upstreams/:id/testテストの仕組み
このエンドポイントは、接続と認証を検証するために、テストパスを使用してアップストリームURLにHEADリクエストを実行します。アップストリームにキャッシュされたアーティファクトがある場合、その相対パスはテストに使用されます。それ以外の場合は、ダミーのパスが使用されます。HEADリクエストから受信したレスポンスは、次のように解釈されます:
| アップストリームレスポンス | 意味 | 結果 |
|---|---|---|
| 2XX | 成功 - アップストリームアクセス可能 | { "success": true } |
| 404 | 成功 - アップストリームはアクセス可能ですが、テストアーティファクトが見つかりません | { "success": true } |
| 401 | 認証に失敗しました | { "success": false, "result": "Error: 401 - Unauthorized" } |
| 403 | アクセスが禁止されました | { "success": false, "result": "Error: 403 - Forbidden" } |
| 5XX | アップストリームサーバーエラー | { "success": false, "result": "Error: 5XX - Server Error" } |
| ネットワークエラー | 接続/タイムアウトの問題 | { "success": false, "result": "Error: Connection timeout" } |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/test"レスポンス例:
{
"success": true
}オーバーライドパラメータを使用してアップストリームレジストリへの接続をテストする
オーバーライド可能なパラメータを使用して、既存のMavenアップストリームレジストリへの接続をテストします。
これにより、アップストリームレジストリの設定を更新する前に、URL、ユーザー名、またはパスワードへの変更をテストできます。
POST /virtual_registries/packages/maven/upstreams/:id/testサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
password | 文字列 | いいえ | テスト用のオーバーライドパスワード。 |
url | 文字列 | いいえ | テスト用のオーバーライドURL。指定された場合、アップストリームの設定されたURLの代わりに、このURLへの接続をテストします。 |
username | 文字列 | いいえ | テスト用のオーバーライドユーザー名。 |
テストの仕組み
このエンドポイントは、接続と認証を検証するために、テストパスを使用してアップストリームURLにHEADリクエストを実行します。アップストリームにキャッシュされたアーティファクトがある場合、アップストリームの相対パスがテストに使用されます。それ以外の場合は、プレースホルダパスが使用されます。
テストの動作は、指定されたパラメータによって異なります:
- パラメータなし: アップストリームを現在の設定(既存のURL、ユーザー名、パスワード)でテストします
- URLオーバーライド: 新しいURLへの接続をテストします。ユーザー名とパスワードは、一緒に指定するか、まったく指定しない必要があります
- 認証情報オーバーライド: 新しい認証情報で既存のURLをテストします
HEADリクエストから受信したレスポンスは、次のように解釈されます:
| アップストリームレスポンス | 意味 | 結果 |
|---|---|---|
| 2XX | 成功。アップストリームアクセス可能 | { "success": true } |
| 404 | 成功。アップストリームアクセス可能ですが、テストアーティファクトが見つかりません | { "success": true } |
| 401 | 認証に失敗しました | { "success": false, "result": "Error: 401 - Unauthorized" } |
| 403 | アクセスが禁止されました | { "success": false, "result": "Error: 403 - Forbidden" } |
| 5XX | アップストリームサーバーエラー | { "success": false, "result": "Error: 5XX - Server Error" } |
| ネットワークエラー | 接続またはタイムアウトの問題 | { "success": false, "result": "Error: Connection timeout" } |
リクエスト例(既存の設定のテスト):
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/test"リクエスト例(URLオーバーライドがあり、認証情報がないテスト):
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"url": "<https://new-repo.example.com/maven2>"}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/test"リクエスト例(URLと認証情報オーバーライドがあるテスト):
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"url": "<https://new-repo.example.com/maven2>", "username": "<newuser>", "password": "<newpass>"}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/test"リクエスト例(認証情報オーバーライドがあるテスト):
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"username": "<newuser>", "password": "<newpass>"}' \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/test"レスポンス例:
{
"success": true
}キャッシュエントリの管理
Maven仮想レジストリのキャッシュエントリを管理するには、次のエンドポイントを使用します。
アップストリームレジストリキャッシュエントリのリスト
Mavenアップストリームレジストリのキャッシュエントリをリストします。
GET /virtual_registries/packages/maven/upstreams/:id/cache_entriesサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | アップストリームレジストリのID。 |
page | 整数 | いいえ | ページ番号。デフォルトは1です。 |
per_page | 整数 | いいえ | ページあたりのアイテム数。デフォルトは20です。 |
search | 文字列 | いいえ | パッケージの相対パスの検索クエリ(例:foo/bar/mypkg)。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/upstreams/1/cache_entries?search=foo/bar"レスポンス例:
[
{
"id": "MTUgZm9vL2Jhci9teXBrZy8xLjAtU05BUFNIT1QvbXlwa2ctMS4wLVNOQVBTSE9ULmphcg==",
"group_id": 5,
"upstream_id": 1,
"upstream_checked_at": "2024-05-30T12:28:27.855Z",
"file_md5": "44f21d5190b5a6df8089f54799628d7e",
"file_sha1": "74d101856d26f2db17b39bd22d3204021eb0bf7d",
"size": 2048,
"relative_path": "foo/bar/package-1.0.0.pom",
"content_type": "application/xml",
"upstream_etag": "\"686897696a7c876b7e\"",
"created_at": "2024-05-30T12:28:27.855Z",
"updated_at": "2024-05-30T12:28:27.855Z",
"downloads_count": 6,
"downloaded_at": "2024-06-05T14:58:32.855Z"
}
]アップストリームレジストリキャッシュエントリの削除
Mavenアップストリームレジストリの特定のキャッシュエントリを削除します。
DELETE /virtual_registries/packages/maven/cache_entries/*id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | キャッシュエントリのbase64エンコードされたアップストリームIDと相対パス(例:‘Zm9vL2Jhci9teXBrZy5wb20=’)。 |
リクエスト例:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Accept: application/json" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/cache_entries/Zm9vL2Jhci9teXBrZy5wb20="成功した場合、204 No Contentステータスコードを返します。
パッケージ操作の管理
Maven仮想レジストリのパッケージ操作を管理するには、次のエンドポイントを使用します。
これらのエンドポイントは、REST API認証方式に準拠していません。サポートされているヘッダーとトークンの種類の詳細については、Maven仮想レジストリを参照してください。記載されていない認証方法は、将来削除される可能性があります。
パッケージをダウンロードする
Maven仮想レジストリからパッケージをダウンロードします。このリソースにアクセスするには、レジストリで認証する必要があります。
GET /virtual_registries/packages/maven/:id/*pathサポートされている属性:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
path | 文字列 | はい | パッケージのフルパス(例:foo/bar/mypkg/1.0-SNAPSHOT/mypkg-1.0-SNAPSHOT.jar)。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/virtual_registries/packages/maven/1/foo/bar/mypkg/1.0-SNAPSHOT/mypkg-1.0-SNAPSHOT.jar" \
--output mypkg-1.0-SNAPSHOT.jar成功した場合、200 OKと、次のレスポンスヘッダーを返します:
x-checksum-sha1: ファイルのSHA1チェックサムx-checksum-md5: ファイルのMD5チェックサムContent-Type: ファイルのMIMEタイプContent-Length: ファイルサイズ(バイト単位)
パッケージのアップロード
Maven仮想レジストリにパッケージをアップロードします。このエンドポイントは、GitLab Workhorseでのみアクセスできます。
POST /virtual_registries/packages/maven/:id/*path/upload| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | Maven仮想レジストリのID。 |
file | ファイル | はい | アップロードされるファイル。 |
path | 文字列 | はい | パッケージのフルパス(例:foo/bar/mypkg/1.0-SNAPSHOT/mypkg-1.0-SNAPSHOT.jar)。 |
リクエストヘッダー:
Etag: ファイルのエンティティタグGitLab-Workhorse-Send-Dependency-Content-Type: ファイルコンテンツタイプUpstream-GID: ターゲットアップストリームのグローバルID
成功した場合、200 OKステータスコードを返します。