使用Xray与Jira导入JUnit XML时自定义字段必填错误解决咨询
解决JUnit XML导入Xray/Jira时缺少必填自定义字段的问题
核心原因
Xray导入JUnit结果时会自动创建对应的Jira测试用例问题,但你的Jira项目将Customer和Travelio: Dimension设为必填自定义字段,默认的JUnit导入请求未携带这些字段值,导致创建问题失败。
解决方法
方法1:在导入请求中携带必填自定义字段值
改用JSON格式请求体,将JUnit XML内容和必填字段值一起传递给Xray接口:
获取自定义字段ID:
登录Jira,进入设置 > 问题 > 自定义字段,找到Customer和Travelio: Dimension字段,查看它们的ID(格式为customfield_XXXXXX)。构造导入请求体:
可以用命令自动读取XML内容并生成合法的JSON:xml_content=$(cat test-results.xml | jq -Rsa .) cat > import_payload.json <<EOF { "results": $xml_content, "fields": { "customfield_XXXXXX": "你的Customer字段值", "customfield_YYYYYY": "你的Travelio: Dimension字段值" }, "projectKey": "PRB" } EOF注意替换
customfield_XXXXXX/customfield_YYYYYY为实际字段ID,以及对应的字段值。发送导入请求:
保留原有的token获取命令,将第二个curl命令替换为:curl -H "Content-Type: application/json" -X POST -H "Authorization: Bearer $token" --data @"import_payload.json" https://xray.cloud.getxray.app/api/v2/import/execution/junit
方法2:修改Jira字段配置(设为非必填)
如果业务允许,可将这两个字段改为非必填:
- 进入Jira设置 > 问题 > 自定义字段
- 找到目标字段,点击操作菜单选择配置
- 在关联的字段配置方案中,取消字段的必填勾选
方法3:关联已存在的Jira测试用例
若已在Jira中创建对应测试用例,可让Xray导入时关联已有用例而非创建新用例:
- 确保JUnit测试方法名称与Jira测试用例的摘要完全匹配
- 导入时Xray会自动匹配关联已有用例,无需创建新问题,也就不会触发必填字段校验
内容的提问来源于stack exchange,提问作者Roberto Teresa
相关产品推荐
相关产品推荐

