You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins导入Testim生成的JUnit XML至Jira Xray失败,报错创建Jira问题

解决Jenkins导入Testim JUnit XML到Jira Cloud Xray的400错误

问题概述

通过Jenkins上传Testim生成的JUnit XML到Jira Cloud Xray时,触发400错误:

ERROR: Step ‘Xray: Results Import Task’ failed: Unable to confirm Result of the upload..... Upload Failed! Status:400 Response:{"error":"Error creating issues in Jira!"}

但使用相同Xray服务器实例和凭据上传Cypress Cucumber JSON文件时完全正常。

可能原因及解决方案

1. JUnit XML缺失Jira必填字段映射

Xray导入JUnit时,若未匹配到现有测试用例,会自动尝试创建新测试用例,但Jira项目SPT的测试用例(Test类型)可能存在必填字段(如Summary、Description),而Testim生成的XML未提供对应数据,导致创建失败。

解决操作:

  • 检查SPT项目中测试用例的必填字段列表,确认XML中是否有对应可映射的字段。
  • 修改Testim报告配置,将必填字段信息添加到JUnit XML中;或在Xray导入配置里为必填字段设置默认值。
  • 提前在Jira创建好对应测试用例,将XML中testcase的name或classname字段设置为Jira测试用例的Key或唯一摘要,让Xray直接关联现有用例,而非创建新用例。

2. Xray导入配置逻辑冲突

当前Pipeline配置同时指定了testExecKey: 'SPT-3082'(现有测试执行工单)和importToSameExecution: 'false'(不导入到同一执行),两者逻辑矛盾,触发错误。

解决操作:

  • 若要生成新的测试执行工单,移除testExecKey参数,让Xray自动创建新执行。
  • 若要将结果导入到指定的SPT-3082执行中,将importToSameExecution改为true。

调整后的Pipeline示例:

stage('Upload xray test results') {
    step([$class: 'XrayImportBuilder', 
          endpointName: '/junit', 
          importFilePath: 'testim-tests-report.xml', 
          importInParallel: 'false', 
          importToSameExecution: 'false', 
          projectKey: 'SPT', 
          serverInstance: '<<<<CLOUD>>>>', 
          testPlanKey: 'SPT-3081'])
};

3. JUnit XML格式不符合Xray预期

Xray对JUnit XML有特定格式要求,Testim生成的XML可能缺少关键元数据,导致解析失败。

解决操作:

  • 确保testcase的classname字段为测试用例的Key或唯一标识,方便Xray匹配或创建用例。
  • 为testcase添加properties节点,补充Xray需要的额外信息,示例:
<testcase name="test1" classname="SPT-XXXX" time="123.758">
  <properties>
    <property name="priority" value="Medium"/>
    <property name="labels" value="automation,testim"/>
  </properties>
  <system-out>https://app.testim.io/#/project/9GScCUXVSOmXaUeDNvKA/branch/master/test/0gEraRql06D0MQdm?result-id=mCda0xgIGFUtfn2f</system-out>
</testcase>

4. 权限不足

尽管上传Cypress文件正常,但JUnit导入可能需要额外权限(如创建测试用例的权限),而当前凭据用户缺少该权限。

解决操作:

  • 检查Jenkins使用的Xray凭据对应的用户,是否拥有SPT项目中创建测试用例(Test类型)的权限。
  • 确认该用户是否属于项目测试团队,或具备Issue创建的相关权限。

验证步骤

  1. 手动调用Xray Cloud API导入该JUnit XML,获取更详细的错误信息:
    curl -H "Content-Type: multipart/form-data" -u "email:api-token" -F "file=@testim-tests-report.xml" "https://xray.cloud.getxray.app/api/v2/import/junit?projectKey=SPT"
    
    API返回的信息会明确指出具体错误(如哪个字段缺失)。
  2. 根据API反馈调整XML或配置后,再在Jenkins中重新测试。

内容的提问来源于stack exchange,提问作者Nipuna Madusanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:07:39