如何通过GitLab API下载流水线中的jUnit测试报告?
如何通过GitLab API下载jUnit测试报告
你配置里的reports: junit会让GitLab解析报告并展示在流水线页面,但直接调用「获取作业制品」接口时,需要注意正确的请求方式:
直接下载单个junit.xml文件
不用请求整个制品包,直接指定文件路径即可,API请求示例:
curl --header "PRIVATE-TOKEN: <你的访问令牌>" "https://<你的GitLab域名>/api/v4/projects/<项目ID>/jobs/<作业ID>/artifacts/junit.xml"
替换命令中的占位符为实际值,确保令牌拥有read_api权限。
排查常见问题
- 确认作业已完成且制品未过期(你的配置是1周有效期,检查作业时间是否在范围内)
- 若请求整个制品包,解压后应该能找到
junit.xml——reports字段的文件会被包含在作业制品中 - 检查项目的可见性设置,确保你的访问令牌拥有该项目的访问权限
备选:获取解析后的测试报告数据
如果不需要原始junit.xml文件,而是要GitLab解析后的结构化数据,可以用测试报告专用API:
curl --header "PRIVATE-TOKEN: <你的访问令牌>" "https://<你的GitLab域名>/api/v4/projects/<项目ID>/jobs/<作业ID>/test_report"
内容的提问来源于stack exchange,提问作者Dmitriy
相关产品推荐
相关产品推荐

