使用XrayImportFeatureBuilder集成Jenkins后生成空.zip致导入失败
解决XrayImportFeatureBuilder导入Feature文件到Jira时的解析错误问题
以下是针对你遇到问题的几种排查和解决方向:
1. 修正Windows路径分隔符问题
日志显示路径混用了正斜杠/和反斜杠\,部分旧版本Xray Jenkins插件在Windows环境下对路径解析存在兼容问题。尝试统一路径格式:
stage('Xray import feature files to Jira') { steps { step([$class : 'XrayImportFeatureBuilder', serverInstance: automatedTestConstants.SERVER_INSTANCE, projectKey : 'TEST', folderPath : "${env.WORKSPACE}\\${JOB_BASE_NAME}\\src\\test\\resources\\features" ]) } }
或者直接使用相对路径(如果Jenkins工作区指向正确):
folderPath: "./src/test/resources/features"
2. 检查并统一Feature文件编码
确保所有.feature文件采用UTF-8无BOM编码格式。Jenkins打包时若编码不匹配,可能导致Xray解析失败。可在步骤中明确指定编码(若插件支持):
step([$class : 'XrayImportFeatureBuilder', serverInstance: automatedTestConstants.SERVER_INSTANCE, projectKey : 'TEST', folderPath : "${env.WORKSPACE}/${JOB_BASE_NAME}/src/test/resources/features", encoding : 'UTF-8' ])
3. 升级Xray Jenkins插件版本
插件版本不兼容可能导致zip打包异常。检查Jira Xray插件版本,对应升级Jenkins侧的Xray插件到最新兼容版本,避免旧版本的路径处理或打包逻辑bug。
4. 绕过插件手动打包并调用API导入
既然手动API导入正常,可跳过XrayImportFeatureBuilder,手动完成打包和API调用,验证打包内容是否正确:
stage('Xray import feature files to Jira') { steps { script { // 手动打包feature文件 bat 'powershell Compress-Archive -Path src/test/resources/features/*.feature -DestinationPath xray_features.zip' // 调用Xray API导入(替换为你的账号信息和API地址) def importResponse = sh( script: """curl -X POST -H "Content-Type: multipart/form-data" \ -u ${JIRA_USER}:${JIRA_PASSWORD} \ -F "file=@xray_features.zip" \ -F "projectKey=TEST" \ ${XRAY_BASE_URL}/rest/raven/1.0/import/feature""", returnStdout: true ) echo "Import response: ${importResponse}" } } }
这种方式能直接确认打包的zip文件内容是否符合要求,同时绕过插件可能存在的bug。
5. 检查Jenkins账号权限
确认Jenkins使用的Jira账号具备创建测试用例、修改项目测试资产的权限,虽然其他Xray功能正常,但导入Feature文件可能需要额外的权限配置。
内容的提问来源于stack exchange,提问作者squeemish
相关产品推荐
相关产品推荐

