Conan v2 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 기능의 가용성은 기능 플래그로 제어됩니다. 이 API를 사용하여 Conan v2 패키지 관리자와 상호 작용합니다. 이 엔드포인트는 표준 API 인증 방법을 따르지 않습니다. 일반적으로 이 엔드포인트는 Conan 2 패키지 관리자 클라이언트에서 사용하며, 직접 수동으로 사용하는 용도가 아닙니다.
히스토리
- Introduced in GitLab 17.11 with a flag named
conan_package_revisions_support. Disabled by default. - Enabled on GitLab.com in GitLab 18.3. Feature flag
conan_package_revisions_supportremoved.
이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 기록을 참조하세요.
이 API를 사용하여 Conan v2 패키지 관리자와 상호 작용합니다. Conan v1 작업의 경우 Conan v1 API를 참조하세요.
이 엔드포인트는 표준 API 인증 방법을 따르지 않습니다. 자격 증명이 전달되는 방식에 대한 자세한 내용은 각 라우트를 참조하세요. 문서화되지 않은 인증 방법은 향후 제거될 수 있습니다.
일반적으로 이 엔드포인트는 Conan 2 패키지 관리자 클라이언트에서 사용하며, 직접 수동으로 사용하는 용도가 아닙니다.
Conan 레지스트리는 FIPS를 준수하지 않으며 FIPS 모드가 활성화된 경우 비활성화됩니다.
이 엔드포인트는 모두 404 Not Found를 반환합니다.
인증 토큰 생성#
다른 요청의 Bearer 헤더로 사용할 JSON Web Token(JWT)을 생성합니다.
"Authorization: Bearer <authenticate_token>
Conan 2 패키지 관리자 클라이언트가 이 토큰을 자동으로 사용합니다.
GET /projects/:id/packages/conan/v2/users/authenticate
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | 조건부 | 프로젝트 ID 또는 전체 프로젝트 경로입니다. 프로젝트 엔드포인트에만 필요합니다. |
Base64로 인코딩된 기본 인증 토큰 생성:
echo -n "<username>:<your_access_token>"|base64
Base64로 인코딩된 기본 인증 토큰을 사용하여 JWT 토큰 가져오기:
curl --request GET \
--header 'Authorization: Basic <base64_encoded_token>' \
--url "https://gitlab.example.com/api/v4/packages/conan/v2/users/authenticate"
응답 예시:
eyJhbGciOiJIUzI1NiIiheR5cCI6IkpXVCJ9.eyJhY2Nlc3NfdG9rZW4iOjMyMTQyMzAsqaVzZXJfaWQiOjQwNTkyNTQsImp0aSI6IjdlNzBiZTNjLWFlNWQtNDEyOC1hMmIyLWZiOThhZWM0MWM2OSIsImlhd3r1MTYxNjYyMzQzNSwibmJmIjoxNjE2NjIzNDMwLCJleHAiOjE2MTY2MjcwMzV9.QF0Q3ZIB2GW5zNKyMSIe0HIFOITjEsZEioR-27Rtu7E
인증 자격 증명 확인#
기본 인증 자격 증명이나 Conan v1 /authenticate 엔드포인트에서 생성된 지정된 Conan JWT의 유효성을 확인합니다.
GET /projects/:id/packages/conan/v2/users/check_credentials
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
curl --request GET \
--header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/<project_id>/packages/conan/v2/users/check_credentials"
응답 예시:
ok
Conan 패키지 검색#
지정된 Conan 패키지에 대해 프로젝트를 검색합니다.
GET /projects/:id/packages/conan/v2/conans/search?q=:query
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
query |
string | yes | 검색 쿼리입니다. 와일드카드로 *를 사용할 수 있습니다. |
curl --request GET \
--header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/search?q=Hello*"
응답 예시:
{
"results": [
"Hello/0.1@foo+conan_test_prod/beta",
"Hello/0.1@foo+conan_test_prod/stable",
"Hello/0.2@foo+conan_test_prod/beta",
"Hello/0.3@foo+conan_test_prod/beta",
"Hello/0.1@foo+conan-reference-test/stable",
"HelloWorld/0.1@baz+conan-reference-test/beta"
"hello-world/0.4@buz+conan-test/alpha"
]
}
최신 레시피 리비전 조회#
최신 패키지 레시피의 리비전 해시 및 생성 날짜를 조회합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/latest
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/latest"
응답 예시:
{
"revision" : "75151329520e7685dcf5da49ded2fec0",
"time" : "2024-12-17T09:16:40.334+0000"
}
모든 레시피 리비전 목록 조회#
패키지 레시피의 모든 리비전을 나열합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions"
응답 예시:
{
"reference": "my-package/1.0@my-group+my-project/stable",
"revisions": [
{
"revision": "75151329520e7685dcf5da49ded2fec0",
"time": "2024-12-17T09:16:40.334+0000"
},
{
"revision": "df28fd816be3a119de5ce4d374436b25",
"time": "2024-12-17T09:15:30.123+0000"
}
]
}
레시피 리비전 삭제#
레지스트리에서 지정된 레시피 리비전을 삭제합니다. 패키지에 레시피 리비전이 하나만 있으면 패키지도 함께 삭제됩니다.
DELETE /projects/:id/packages/conan/conans/:package_name/package_version/:package_username/:package_channel/revisions/:recipe_revision
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 삭제할 레시피 리비전의 리비전 해시입니다. |
curl --request DELETE \
--header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/2be19f5a69b2cb02ab576755252319b9"
모든 레시피 파일 목록 조회#
패키지 레지스트리에서 모든 레시피 파일을 나열합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-username/stable/revisions/df28fd816be3a119de5ce4d374436b25/files"
응답 예시:
{
"files": {
"conan_sources.tgz": {},
"conanfile.py": {},
"conanmanifest.txt": {}
}
}
레시피 파일 조회#
패키지 레지스트리에서 지정된 레시피 파일을 조회합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
file_name |
string | yes | 요청된 파일의 이름과 파일 확장자입니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-username/stable/revisions/df28fd816be3a119de5ce4d374436b25/files/conanfile.py"
다음과 같이 파일로 출력을 저장할 수도 있습니다:
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-username/stable/revisions/df28fd816be3a119de5ce4d374436b25/files/conanfile.py" \
>> conanfile.py
이 예시는 현재 디렉토리의 conanfile.py에 작성합니다.
레시피 파일 업로드#
패키지 레지스트리에 지정된 레시피 파일을 업로드합니다.
PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
file_name |
string | yes | 요청된 파일의 이름과 파일 확장자입니다. |
curl --request PUT \
--header "Authorization: Bearer <authenticate_token>" \
--upload-file path/to/conanfile.py \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/upload-v2-package/1.0.0/user/stable/revisions/123456789012345678901234567890ab/files/conanfile.py"
응답 예시:
{
"id": 38,
"package_id": 28,
"created_at": "2025-04-07T12:35:40.841Z",
"updated_at": "2025-04-07T12:35:40.841Z",
"size": 24,
"file_store": 1,
"file_md5": "131f806af123b497209a516f46d12ffd",
"file_sha1": "01b992b2b1976a3f4c1e5294d0cab549cd438502",
"file_name": "conanfile.py",
"file": {
"url": "/94/00/9400f1b21cb527d7fa3d3eabba93557a18ebe7a2ca4e471cfe5e4c5b4ca7f767/packages/28/files/38/conanfile.py"
},
"file_sha256": null,
"verification_retry_at": null,
"verified_at": null,
"verification_failure": null,
"verification_retry_count": null,
"verification_checksum": null,
"verification_state": 0,
"verification_started_at": null,
"status": "default",
"file_final_path": null,
"project_id": 9,
"new_file_path": null
}
모든 패키지 리비전 목록 조회#
특정 레시피 리비전 및 패키지 참조에 대한 모든 패키지 리비전을 나열합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
conan_package_reference |
string | yes | Conan 패키지의 참조 해시입니다. Conan이 이 값을 생성합니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/revisions"
응답 예시:
{
"reference": "my-package/1.0@my-group+my-project/stable#75151329520e7685dcf5da49ded2fec0:103f6067a947f366ef91fc1b7da351c588d1827f",
"revisions": [
{
"revision": "2bfb52659449d84ed11356c353bfbe86",
"time": "2024-12-17T09:16:40.334+0000"
},
{
"revision": "3bdd2d8c8e76c876ebd1ac0469a4e72c",
"time": "2024-12-17T09:15:30.123+0000"
}
]
}
최신 패키지 리비전 조회#
지정된 레시피 리비전 및 패키지 참조에 대한 최신 패키지 리비전의 리비전 해시 및 생성 날짜를 조회합니다.
GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/latest
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
conan_package_reference |
string | yes | Conan 패키지의 참조 해시입니다. Conan이 이 값을 생성합니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/latest"
응답 예시:
{
"revision" : "3bdd2d8c8e76c876ebd1ac0469a4e72c",
"time" : "2024-12-17T09:16:40.334+0000"
}
패키지 리비전 삭제#
레지스트리에서 지정된 패키지 리비전을 삭제합니다. 패키지 참조에 패키지 리비전이 하나만 있으면 패키지 참조도 함께 삭제됩니다.
DELETE /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
conan_package_reference |
string | yes | Conan 패키지의 참조 해시입니다. Conan이 이 값을 생성합니다. |
package_revision |
string | yes | 패키지의 리비전입니다. 0 값은 허용되지 않습니다. |
curl --request DELETE \
--header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/revisions/3bdd2d8c8e76c876ebd1ac0469a4e72c"
패키지 파일 조회#
패키지 레지스트리에서 지정된 패키지 파일을 조회합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
conan_package_reference |
string | yes | Conan 패키지의 참조 해시입니다. Conan이 이 값을 생성합니다. |
package_revision |
string | yes | 패키지의 리비전입니다. 0 값은 허용되지 않습니다. |
file_name |
string | yes | 요청된 파일의 이름과 파일 확장자입니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/revisions/3bdd2d8c8e76c876ebd1ac0469a4e72c/files/conaninfo.txt"
다음과 같이 파일로 출력을 저장할 수도 있습니다:
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/revisions/3bdd2d8c8e76c876ebd1ac0469a4e72c/files/conaninfo.txt" \
>> conaninfo.txt
이 예시는 현재 디렉토리의 conaninfo.txt에 작성합니다.
패키지 파일 업로드#
패키지 레지스트리에 지정된 패키지 파일을 업로드합니다.
PUT /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:conan_package_reference/revisions/:package_revision/files/:file_name
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
conan_package_reference |
string | yes | Conan 패키지의 참조 해시입니다. Conan이 이 값을 생성합니다. |
package_revision |
string | yes | 패키지의 리비전입니다. 0 값은 허용되지 않습니다. |
file_name |
string | yes | 요청된 파일의 이름과 파일 확장자입니다. |
요청 본문에 파일 내용을 제공합니다:
curl --request PUT \
--header "Authorization: Bearer <authenticate_token>" \
--upload-file path/to/conaninfo.txt \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/packages/103f6067a947f366ef91fc1b7da351c588d1827f/revisions/3bdd2d8c8e76c876ebd1ac0469a4e72c/files/conaninfo.txt"
응답 예시:
{
"id": 202,
"package_id": 48,
"created_at": "2025-03-19T10:06:53.626Z",
"updated_at": "2025-03-19T10:06:53.626Z",
"size": 208,
"file_store": 1,
"file_md5": "bf996313bbdd75944b58f8c673661d99",
"file_sha1": "02c8adf14c94135fb95d472f96525063efe09ee8",
"file_name": "conaninfo.txt",
"file": {
"url": "/94/00/9400f1b21cb527d7fa3d3eabba93557a18ebe7a2ca4e471cfe5e4c5b4ca7f767/packages/48/files/202/conaninfo.txt"
},
"file_sha256": null,
"verification_retry_at": null,
"verified_at": null,
"verification_failure": null,
"verification_retry_count": null,
"verification_checksum": null,
"verification_state": 0,
"verification_started_at": null,
"status": "default",
"file_final_path": null,
"project_id": 9,
"new_file_path": null
}
패키지 참조 메타데이터 조회#
지정된 패키지의 모든 패키지 참조에 대한 메타데이터를 조회합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/search
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/search"
응답 예시:
{
"103f6067a947f366ef91fc1b7da351c588d1827f": {
"settings": {
"arch": "x86_64",
"build_type": "Release",
"compiler": "gcc",
"compiler.libcxx": "libstdc++",
"compiler.version": "9",
"os": "Linux"
},
"options": {
"shared": "False"
},
"requires": {
"zlib/1.2.11": null
},
"recipe_hash": "75151329520e7685dcf5da49ded2fec0"
}
}
응답에는 각 패키지 참조에 대한 다음 메타데이터가 포함됩니다:
settings: 패키지에 사용된 빌드 설정입니다.options: 패키지 옵션입니다.requires: 패키지에 필요한 종속성입니다.recipe_hash: 레시피의 해시입니다.
레시피 리비전별 패키지 참조 메타데이터 조회#
지정된 레시피 리비전과 연관된 모든 패키지 참조에 대한 메타데이터를 조회합니다.
GET /projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/search
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
package_name |
string | yes | 패키지 이름입니다. |
package_version |
string | yes | 패키지 버전입니다. |
package_username |
string | yes | 패키지의 Conan 사용자 이름입니다. 이 속성은 프로젝트의 전체 경로를 +로 구분한 값입니다. |
package_channel |
string | yes | 패키지의 채널입니다. |
recipe_revision |
string | yes | 레시피의 리비전입니다. 0 값은 허용되지 않습니다. |
curl --header "Authorization: Bearer <authenticate_token>" \
--url "https://gitlab.example.com/api/v4/projects/9/packages/conan/v2/conans/my-package/1.0/my-group+my-project/stable/revisions/75151329520e7685dcf5da49ded2fec0/search"
응답 예시:
{
"103f6067a947f366ef91fc1b7da351c588d1827f": {
"settings": {
"arch": "x86_64",
"build_type": "Release",
"compiler": "gcc",
"compiler.libcxx": "libstdc++",
"compiler.version": "9",
"os": "Linux"
},
"options": {
"shared": "False"
},
"requires": {
"zlib/1.2.11": null
},
"recipe_hash": "75151329520e7685dcf5da49ded2fec0"
}
}
응답에는 각 패키지 참조에 대한 다음 메타데이터가 포함됩니다:
settings: 패키지에 사용된 빌드 설정입니다.options: 패키지 옵션입니다.requires: 패키지에 필요한 종속성입니다.recipe_hash: 레시피의 해시입니다.
