パッケージ API
GitLab PackagesのAPIドキュメントです。
パッケージ一覧
プロジェクト内
GitLab 11.8 で導入されました。
プロジェクトパッケージの一覧を取得します。 すべての種類のパッケージが結果に含まれます。 認証なしでアクセスした場合は、公開プロジェクトのパッケージのみが返されます。
GET /projects/:id/packages
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
order_by
| 列 | いいえ |
created_at (デフォルト)、name 、version 、type のいずれか。
|
sort
| 列 | いいえ | 昇順の場合はasc (デフォルト)、降順の場合はdesc となります。
|
package_type
| 列 | いいえ | 返されたパッケージをタイプでフィルタリングします。conan ,maven ,npm ,pypi ,composer ,nuget のいずれかです_(GitLab 12.9 で導入_)。
|
package_name
| 列 | いいえ | ファジー検索でプロジェクトパッケージを名前で絞り込みます。(_GitL_ab 12.9 で導入) |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/packages"
回答例
[
{
"id": 1,
"name": "com/mycompany/my-app",
"version": "1.0-SNAPSHOT",
"package_type": "maven",
"created_at": "2019-11-27T03:37:38.711Z"
},
{
"id": 2,
"name": "@foo/bar",
"version": "1.0.3",
"package_type": "npm",
"created_at": "2019-11-27T03:37:38.711Z"
}
]
デフォルトでは、APIはページ分割されているため、GET
リクエストは20件の結果を返します。
グループ内
GitLab 12.5で導入されました。
プロジェクトパッケージの一覧をグループレベルで取得します。 認証なしでアクセスした場合は、公開プロジェクトのパッケージのみが返されます。
GET /groups/:id/packages
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | グループのIDまたはURLエンコードされたパス。 |
exclude_subgroups
| ブーリアン | false | このパラメータに true を指定すると、サブグループのプロジェクトのパッケージは表示されません。 デフォルトはfalse です。
|
order_by
| 列 | いいえ |
created_at (デフォルト)、name 、version 、type 、project_path のいずれか。
|
sort
| 列 | いいえ | 昇順の場合はasc (デフォルト)、降順の場合はdesc となります。
|
package_type
| 列 | いいえ | 返されたパッケージをタイプでフィルタリングします。conan ,maven ,npm ,pypi ,composer ,nuget のいずれかです_(GitLab 12.9 で導入_)。
|
package_name
| 列 | いいえ | ファジー検索でプロジェクトパッケージを名前で絞り込みます。(_GitL_ab 13.0 で導入) |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/packages?exclude_subgroups=true"
回答例
[
{
"id": 1,
"name": "com/mycompany/my-app",
"version": "1.0-SNAPSHOT",
"package_type": "maven",
"_links": {
"web_path": "/namespace1/project1/-/packages/1",
"delete_api_path": "/namespace1/project1/-/packages/1"
},
"created_at": "2019-11-27T03:37:38.711Z",
"pipeline": {
"id": 123,
"status": "pending",
"ref": "new-pipeline",
"sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
"web_url": "https://example.com/foo/bar/pipelines/47",
"created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z",
"user": {
"name": "Administrator",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
}
}
},
{
"id": 2,
"name": "@foo/bar",
"version": "1.0.3",
"package_type": "npm",
"_links": {
"web_path": "/namespace1/project1/-/packages/1",
"delete_api_path": "/namespace1/project1/-/packages/1"
},
"created_at": "2019-11-27T03:37:38.711Z",
"pipeline": {
"id": 123,
"status": "pending",
"ref": "new-pipeline",
"sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
"web_url": "https://example.com/foo/bar/pipelines/47",
"created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z",
"user": {
"name": "Administrator",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
}
}
}
]
デフォルトでは、APIはページ分割されているため、GET
リクエストは20件の結果を返します。
_links
オブジェクトには以下のプロパティが含まれます:
-
web_path
GitLabにアクセスし、パッケージの詳細を見ることができるパス。 -
delete_api_path
: パッケージを削除するための API パス。 リクエストユーザに権限がある場合のみ利用可能です。
プロジェクトパッケージの入手
GitLab 11.9 で導入されました。
単一のプロジェクトパッケージを取得します。
GET /projects/:id/packages/:package_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
package_id
| 整数 | はい | パッケージの ID。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/packages/:package_id"
回答例
{
"id": 1,
"name": "com/mycompany/my-app",
"version": "1.0-SNAPSHOT",
"package_type": "maven",
"_links": {
"web_path": "/namespace1/project1/-/packages/1",
"delete_api_path": "/namespace1/project1/-/packages/1"
},
"created_at": "2019-11-27T03:37:38.711Z",
"pipeline": {
"id": 123,
"status": "pending",
"ref": "new-pipeline",
"sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
"web_url": "https://example.com/foo/bar/pipelines/47",
"created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z",
"user": {
"name": "Administrator",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
}
},
"versions": [
{
"id":2,
"version":"2.0-SNAPSHOT",
"created_at":"2020-04-28T04:42:11.573Z",
"pipeline": {
"id": 234,
"status": "pending",
"ref": "new-pipeline",
"sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
"web_url": "https://example.com/foo/bar/pipelines/58",
"created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z",
"user": {
"name": "Administrator",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon"
}
}
}
]
}
_links
オブジェクトには以下のプロパティが含まれます:
-
web_path
GitLabにアクセスし、パッケージの詳細を見ることができるパス。 -
delete_api_path
: パッケージを削除するための API パス。 リクエストユーザに権限がある場合のみ利用可能です。
パッケージファイル一覧
GitLab 11.8 で導入されました。
単一パッケージのパッケージファイルのリストを取得します。
GET /projects/:id/packages/:package_id/package_files
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
package_id
| 整数 | はい | パッケージの ID。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/4/package_files"
回答例
[
{
"id": 25,
"package_id": 4,
"created_at": "2018-11-07T15:25:52.199Z",
"file_name": "my-app-1.5-20181107.152550-1.jar",
"size": 2421,
"file_md5": "58e6a45a629910c6ff99145a688971ac",
"file_sha1": "ebd193463d3915d7e22219f52740056dfd26cbfe"
},
{
"id": 26,
"package_id": 4,
"created_at": "2018-11-07T15:25:56.776Z",
"file_name": "my-app-1.5-20181107.152550-1.pom",
"size": 1122,
"file_md5": "d90f11d851e17c5513586b4a7e98f1b2",
"file_sha1": "9608d068fe88aff85781811a42f32d97feb440b5"
},
{
"id": 27,
"package_id": 4,
"created_at": "2018-11-07T15:26:00.556Z",
"file_name": "maven-metadata.xml",
"size": 767,
"file_md5": "6dfd0cce1203145a927fef5e3a1c650c",
"file_sha1": "d25932de56052d320a8ac156f745ece73f6a8cd2"
}
]
デフォルトでは、APIはページ分割されているため、GET
リクエストは20件の結果を返します。
プロジェクトパッケージの削除
GitLab 11.9 で導入されました。
プロジェクトパッケージを削除します。
DELETE /projects/:id/packages/:package_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
package_id
| 整数 | はい | パッケージの ID。 |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/packages/:package_id"
以下のステータスコードを返すことができます:
-
204 No Content
パッケージが正常に削除された場合 -
404 Not Found
パッケージが見つからなかった場合