- 验证 Conan 存储库的可用性
- 搜索 Conan 软件包
- 创建认证令牌
- 验证认证凭据
- 获取配方快照
- 获取软件包快照
- 获取配方清单
- 获取软件包清单
- 列出所有配方下载 URL
- 列出所有软件包下载 URL
- 列出所有配方上传 URL
- 列出所有软件包上传 URL
- 获取配方文件
- 上传配方文件
- 获取软件包文件
- 上传软件包文件
- 删除配方和软件包
{{< details >}}
- Tier: 基础版,专业版,旗舰版
- Offering: JihuLab.com,私有化部署
{{< /details >}}
{{< alert type=”note” >}}
对于 Conan v2 操作,可查看 Conan v2 API。
{{< /alert >}}
使用此 API 与 Conan v1 软件包管理器进行交互。这些端点适用于项目和实例。有关更多信息,请参阅软件包注册表中的 Conan 软件包。
通常情况下,这些端点由 Conan 1 软件包管理器客户端使用,并不适合手动使用。
{{< alert type=”note” >}}
-
这些端点不遵循标准的 API 认证方法。请查看每个路径以了解如何传递凭据。未来可能会删除未记录的认证方法。
-
当启用 FIPS 模式时,Conan 注册表不符合 FIPS,且被禁用。这些端点全部返回
404 Not Found
。
{{< /alert >}}
验证 Conan 存储库的可用性
验证极狐GitLab Conan 存储库的可用性。
GET /packages/conan/v1/ping
GET /projects/:id/packages/conan/v1/ping
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
curl "https://gitlab.example.com/api/v4/packages/conan/v1/ping"
示例响应:
""
搜索 Conan 软件包
搜索实例中具有指定名称的 Conan 软件包。
GET /packages/conan/v1/conans/search
GET /projects/:id/packages/conan/v1/conans/search
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
q |
string | 是 | 搜索查询。您可以使用 * 作为通配符。 |
curl --user <username>:<personal_access_token> "https://gitlab.example.com/api/v4/packages/conan/v1/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"
]
}
创建认证令牌
创建用于其他请求中的 Bearer 头的 JSON Web Token (JWT)。
"Authorization: Bearer <token>
Conan 软件包管理器客户端会自动使用此令牌。
GET /packages/conan/v1/users/authenticate
GET /projects/:id/packages/conan/v1/users/authenticate
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
curl --user <username>:<personal_access_token> "https://gitlab.example.com/api/v4/packages/conan/v1/users/authenticate"
示例响应:
eyJhbGciOiJIUzI1NiIiheR5cCI6IkpXVCJ9.eyJhY2Nlc3NfdG9rZW4iOjMyMTQyMzAsqaVzZXJfaWQiOjQwNTkyNTQsImp0aSI6IjdlNzBiZTNjLWFlNWQtNDEyOC1hMmIyLWZiOThhZWM0MWM2OSIsImlhd3r1MTYxNjYyMzQzNSwibmJmIjoxNjE2NjIzNDMwLCJleHAiOjE2MTY2MjcwMzV9.QF0Q3ZIB2GW5zNKyMSIe0HIFOITjEsZEioR-27Rtu7E
验证认证凭据
验证从 /authenticate
端点生成的 Basic Auth 凭据或 Conan JWT 的有效性。
GET /packages/conan/v1/users/check_credentials
GET /projects/:id/packages/conan/v1/users/check_credentials
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/users/check_credentials
示例响应:
ok
获取配方快照
获取指定 Conan 配方的文件快照。快照是文件名及其关联的 MD5 哈希列表。
GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel
GET /projects/:id/packages/conan/v1/conans/:package_version/:package_username/:package_channel
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable"
示例响应:
{
"conan_sources.tgz": "eadf19b33f4c3c7e113faabf26e76277",
"conanfile.py": "25e55b96a28f81a14ba8e8a8c99eeace",
"conanmanifest.txt": "5b6fd77a2ba14303ce4cdb08c87e82ab"
}
获取软件包快照
获取指定 Conan 软件包和参考的文件快照。快照是文件名及其关联的 MD5 哈希列表。
GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference
GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
conan_package_reference |
string | 是 | Conan 软件包的参考哈希。Conan 生成此值。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f"
示例响应:
{
"conan_package.tgz": "749b29bdf72587081ca03ec033ee59dc",
"conaninfo.txt": "32859d737fe84e6a7ccfa4d64dc0d1f2",
"conanmanifest.txt": "a86b398e813bd9aa111485a9054a2301"
}
获取配方清单
获取包含指定配方的文件列表和关联下载 URL 的清单。
GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/digest
GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/digest
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/digest"
示例响应:
{
"conan_sources.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conan_sources.tgz",
"conanfile.py": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanfile.py",
"conanmanifest.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanmanifest.txt"
}
响应中的 URL 使用请求它们时的相同路径前缀。如果您使用项目级路径请求它们,返回的 URL 包含 /projects/:id
。
获取软件包清单
获取包含指定软件包文件列表和关联下载 URL 的清单。
GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/digest
GET /projects/:id/packages/conan/v1/conans/:package_version/:package_username/:package_channel/packages/:conan_package_reference/digest
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
conan_package_reference |
string | 是 | Conan 软件包的参考哈希。Conan 生成此值。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/digest"
示例响应:
{
"conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz",
"conaninfo.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conaninfo.txt",
"conanmanifest.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conanmanifest.txt"
}
响应中的 URL 使用请求它们时的相同路径前缀。如果您使用项目级路径请求它们,返回的 URL 包含 /projects/:id
。
列出所有配方下载 URL
列出指定配方的所有文件和关联下载 URL。返回与配方清单端点相同的有效载荷。
GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/download_urls
GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/download_urls
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/digest"
示例响应:
{
"conan_sources.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conan_sources.tgz",
"conanfile.py": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanfile.py",
"conanmanifest.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanmanifest.txt"
}
响应中的 URL 使用请求它们时的相同路径前缀。如果您使用项目级路径请求它们,返回的 URL 包含 /projects/:id
。
列出所有软件包下载 URL
列出指定软件包的所有文件和关联下载 URL。返回与软件包清单端点相同的有效载荷。
GET /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls
GET /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
conan_package_reference |
string | 是 | Conan 软件包的参考哈希。Conan 生成此值。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/download_urls"
示例响应:
{
"conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz",
"conaninfo.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conaninfo.txt",
"conanmanifest.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conanmanifest.txt"
}
响应中的 URL 使用请求它们时的相同路径前缀。如果您使用项目级路径请求它们,返回的 URL 包含 /projects/:id
。
列出所有配方上传 URL
列出指定配方文件集合的上传 URL。请求必须包含文件名和大小的 JSON 对象。
POST /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/upload_urls
POST /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/upload_urls
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
示例请求 JSON 有效载荷:
有效载荷必须包含文件的名称和大小。
{
"conanfile.py": 410,
"conanmanifest.txt": 130
}
curl --request POST \
--header "Authorization: Bearer <authenticate_token>" \
--header "Content-Type: application/json" \
--data '{"conanfile.py":410,"conanmanifest.txt":130}' \
"https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/upload_urls"
示例响应:
{
"conanfile.py": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanfile.py",
"conanmanifest.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanmanifest.txt"
}
响应中的 URL 使用请求它们时的相同路径前缀。如果您使用项目级路径请求它们,返回的 URL 包含 /projects/:id
。
列出所有软件包上传 URL
列出指定软件包文件集合的上传 URL。请求必须包含文件名和大小的 JSON 对象。
POST /packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls
POST /projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
conan_package_reference |
string | 是 | Conan 软件包的参考哈希。Conan 生成此值。 |
示例请求 JSON 有效载荷:
有效载荷必须包含文件的名称和大小。
{
"conan_package.tgz": 5412,
"conanmanifest.txt": 130,
"conaninfo.txt": 210
}
curl --request POST \
--header "Authorization: Bearer <authenticate_token>" \
--header "Content-Type: application/json" \
--data '{"conan_package.tgz":5412,"conanmanifest.txt":130,"conaninfo.txt":210}'
"https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/upload_urls"
示例响应:
{
"conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/package/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz",
"conanmanifest.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/package/103f6067a947f366ef91fc1b7da351c588d1827f/0/conanmanifest.txt",
"conaninfo.txt": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/package/103f6067a947f366ef91fc1b7da351c588d1827f/0/conaninfo.txt"
}
响应中的 URL 使用请求它们时的相同路径前缀。如果您使用项目级路径请求它们,返回的 URL 包含 /projects/:id
。
获取配方文件
从软件包注册表中获取配方文件。您必须使用从配方下载 URL端点返回的下载 URL。
GET packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name
GET projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
recipe_revision |
string | 是 | 配方的修订。极狐GitLab 尚不支持 Conan 修订,因此始终使用默认值 0 。 |
file_name |
string | 是 | 请求文件的名称和扩展名。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanfile.py"
您还可以使用以下方式将输出写入文件:
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanfile.py" >> conanfile.py
此示例将写入当前目录下的 conanfile.py
。
上传配方文件
在软件包注册表中上传指定的配方文件。您必须使用从配方上传 URL端点返回的上传 URL。
PUT packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name
PUT projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/export/:file_name
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
recipe_revision |
string | 是 | 配方的修订。极狐GitLab 尚不支持 Conan 修订,因此始终使用默认值 0 。 |
file_name |
string | 是 | 请求文件的名称和扩展名。 |
在请求正文中提供文件内容:
curl --request PUT \
--user <username>:<personal_access_token> \
--upload-file path/to/conanfile.py \
"https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conanfile.py"
获取软件包文件
从软件包注册表中获取软件包文件。您必须使用从软件包下载 URL端点返回的下载 URL。
GET packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name
GET projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
recipe_revision |
string | 是 | 配方的修订。极狐GitLab 尚不支持 Conan 修订,因此始终使用默认值 0 。 |
conan_package_reference |
string | 是 | Conan 软件包的参考哈希。Conan 生成此值。 |
package_revision |
string | 是 | 软件包的修订。极狐GitLab 尚不支持 Conan 修订,因此始终使用默认值 0 。 |
file_name |
string | 是 | 请求文件的名称和扩展名。 |
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conaninfo.txt"
您还可以使用以下方式将输出写入文件:
curl --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conaninfo.txt" >> conaninfo.txt
此示例将写入当前目录下的 conaninfo.txt
。
上传软件包文件
在软件包注册表中上传指定的软件包文件。您必须使用从软件包上传 URL端点返回的上传 URL。
PUT packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name
PUT projects/:id/packages/conan/v1/files/:package_name/:package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
recipe_revision |
string | 是 | 配方的修订。极狐GitLab 尚不支持 Conan 修订,因此始终使用默认值 0 。 |
conan_package_reference |
string | 是 | Conan 软件包的参考哈希。Conan 生成此值。 |
package_revision |
string | 是 | 软件包的修订。极狐GitLab 尚不支持 Conan 修订,因此始终使用默认值 0 。 |
file_name |
string | 是 | 请求文件的名称和扩展名。 |
在请求正文中提供文件内容:
curl --request PUT \
--user <username>:<personal_access_token> \
--upload-file path/to/conaninfo.txt \
"https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/package/103f6067a947f366ef91fc1b7da351c588d1827f/0/conaninfo.txt"
删除配方和软件包
从软件包注册表中删除指定的 Conan 配方和关联的软件包文件。
DELETE packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel
DELETE projects/:id/packages/conan/v1/conans/:package_name/:package_version/:package_username/:package_channel
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
string | 有条件 | 项目 ID 或完整项目路径。仅项目端点需要。 |
package_name |
string | 是 | 软件包的名称。 |
package_version |
string | 是 | 软件包的版本。 |
package_username |
string | 是 | 软件包的 Conan 用户名。此属性是项目的 + 分隔完整路径。 |
package_channel |
string | 是 | 软件包的频道。 |
curl --request DELETE --header "Authorization: Bearer <authenticate_token>" "https://gitlab.example.com/api/v4/packages/conan/v1/conans/my-package/1.0/my-group+my-project/stable"
示例响应:
{
"id": 1,
"project_id": 123,
"created_at": "2020-08-19T13:17:28.655Z",
"updated_at": "2020-08-19T13:17:28.655Z",
"name": "my-package",
"version": "1.0",
"package_type": "conan",
"creator_id": null,
"status": "default"
}