如何通过GitLab API删除GitLab包中的Helm Chart?
解决GitLab API删除Helm Chart的问题
你之前用的API端点不对,导致删除失败。GitLab提供了两种正确的方式通过API删除项目中的Helm Chart:
方式一:通过包ID删除
先获取目标Helm Chart对应的包ID:
curl --header "PRIVATE-TOKEN: TOKEN" "https://gitlab.test.in/api/v4/projects/:id/packages?type=helm"把
:id换成你的项目ID,执行后在返回的JSON里找到对应Chart的id字段(即package_id)。用包ID执行删除:
curl --request DELETE --header "PRIVATE-TOKEN: TOKEN" "https://gitlab.test.in/api/v4/projects/:id/packages/:package_id"替换
:id和:package_id为实际值即可。
方式二:通过Chart名称和版本删除(GitLab 14.10及以上版本支持)
直接用Chart名称和版本号构造请求,注意不要带.tgz后缀,路径结构和你之前的不一样:
curl --request DELETE --header "PRIVATE-TOKEN: TOKEN" "https://gitlab.test.in/api/v4/projects/:id/packages/helm/:chart_name/versions/:chart_version"
比如你的Chart名称是test,版本是0.160.0,就把:chart_name换成test,:chart_version换成0.160.0,再替换项目ID:id即可。
你之前的错误点
你用的/projects/:id/packages/helm/:stable/charts/:test-0.160.0.tgz不是GitLab API的有效删除端点,stable是Helm仓库名称,但删除接口不需要指定仓库,而是直接定位到具体的包或版本。
内容的提问来源于stack exchange,提问作者Sujay_ks
相关产品推荐
相关产品推荐

