JFrog CLI:构建名称含/时无法删除构建的问题
解决JFrog构建名称中%2f被编码导致删除失败的404问题
当构建名称包含%2f时,JFrog API会自动将其解码为斜杠/,导致请求路径与实际构建名称不匹配,触发404错误。以下是几种可行的解决方法:
双重编码%2f
将构建名称中的%2f再次编码为%252f,这样API接收到后会解码一次得到原始的%2f,与构建名称完全匹配。
示例curl删除命令:curl -X DELETE "http://your-jfrog-instance/artifactory/api/build/my-build%252fv1.0?deleteAll=1" -u your-username:your-password改用JFrog CLI执行删除
JFrog CLI内部会自动处理编码逻辑,无需手动调整字符。直接传入原始构建名称即可:jfrog rt build-delete "my-build%2fv1.0" --delete-all检查平台编码配置(部分版本支持)
在JFrog Artifactory的Admin > General > HTTP Settings中,查看是否有保留原始URL编码的开关选项。注意该配置仅存在于特定版本,需对应你的JFrog版本确认。
额外注意事项
- 先通过
GET /api/build接口查询构建列表,确认目标构建的准确名称,避免因名称拼写或编码差异导致错误。 - 若使用较旧版本的JFrog平台,升级到最新稳定版可能会修复这类编码处理的兼容性问题。
内容的提问来源于stack exchange,提问作者Nira Shavitt
相关产品推荐
相关产品推荐

