GitLab Job制品下载异常:仅返回HTML页面未获取归档文件求助
GitLab制品下载返回HTML页面的解决办法
可能的问题及修复步骤
1. 项目路径未正确编码
GitLab API要求项目路径(含组名)必须做URL编码,斜杠要替换成%2F;或者直接用项目ID更稳妥,避免编码问题。
- 查找项目ID:进入项目主页→设置→通用页面即可看到
- 用项目ID的命令示例:
curl --location --output artifacts.zip --header "PRIVATE-TOKEN: <my-token>" "https://gitlab.com/api/v4/projects/<项目ID>/jobs/artifacts/develop/download?job=build"
2. 重定向处理不彻底
GitLab.com可能存在多层重定向逻辑,仅靠--location参数可能无法完成完整跳转,试试添加Cookie保存参数强制跟随:
curl --location --output artifacts.zip --header "PRIVATE-TOKEN: <my-token>" --cookie-jar cookies.txt "https://gitlab.com/api/v4/projects/<编码后的项目路径>/jobs/artifacts/develop/download?job=build"
3. 令牌权限不足
检查你的私有令牌是否开启了read_api和read_repository权限(私有项目必须具备这两个权限),同时确认令牌未过期、未被撤销。
4. 分支或Job名称错误
确认develop分支真实存在,build这个Job名称完全匹配(大小写敏感),且该Job在develop分支上成功执行并生成了制品——可前往项目CI/CD→作业页面核实。
5. 修正API路径格式
如果不用项目ID,需将完整项目路径(组+项目)编码后放在projects参数中,比如组为my-group、项目为my-project,编码后是my-group%2Fmy-project,对应命令:
curl --location --output artifacts.zip --header "PRIVATE-TOKEN: <my-token>" "https://gitlab.com/api/v4/projects/my-group%2Fmy-project/jobs/artifacts/develop/download?job=build"
内容的提问来源于stack exchange,提问作者BenjaminD
相关产品推荐
相关产品推荐

