如何用JQ将Jenkins测试报告JSON转换为指定格式CSV
Jenkins测试报告转CSV的JQ解决方案
完整命令(Windows命令行)
jq -r ". | \"Passed: \(.passCount), Failed: \(.failCount)\", \"\", [\"className\", \"name\", \"errorDetails\", \"status\"], (.tests[] | select(.status == \"FAILED\") | [.className, .name, .errorDetails, .status]) | @csv" input.json > output.csv
命令说明
-r:输出原始文本,避免CSV内容被额外转义- 第一部分:提取并输出顶部的统计行,格式为
Passed: X, Failed: Y - 第二部分:输出空行,分隔统计信息和测试用例表格
- 第三部分:生成CSV表头,包含指定的四个字段
- 第四部分:遍历测试用例数组,筛选出
status为FAILED的项,仅保留className、name、errorDetails、status四个字段并转为CSV行
注意事项
- 若你的Jenkins JSON报告中测试用例数组的键名不是
tests(比如部分报告用cases或嵌套在suites下),请将.tests[]替换为实际路径,例如嵌套结构用.suites[].cases[] - Windows命令行中必须用
\"转义JQ脚本内的双引号,否则会被cmd解析错误 @csv会自动处理字段内的逗号、双引号、换行符,符合CSV规范
内容的提问来源于stack exchange,提问作者QA_Chief
相关产品推荐
相关产品推荐

