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

求助:Xray-Maven Plugin的testPlanKey等字段无法在Jira中填充

Xray Maven插件无法关联Test Plan、填充testEnvironment和fixVersion字段问题排查

我使用Serenity 4.0.1生成Cucumber JSON报告,通过xray-maven-plugin 0.7.3将测试结果导入Jira。目前Test Execution已成功创建且测试结果正常填充,但存在三个问题:

  • 指定的Test Plan未关联到Test Execution
  • Test Execution的testEnvironment字段未填充
  • Test Execution的fixVersion字段未填充

已尝试通过pom配置和命令行参数两种方式设置上述字段,其他配置项(如Jira地址、凭证)均正常生效,但问题依旧。相关日志与配置如下:

插件响应日志:

[INFO] response: {"testExecIssue":{"id":"16065764","key":"E2E-583","self":"https://jira.test.com/rest/api/2/issue/16065764"},"testIssues":{"success":[{"id":"16037818","key":"E2E-576","self":"https://jira.test.com/rest/api/2/issue/16037818","testVersionId":1433450}]},"infoMessages":[]}

POM插件配置:

<plugin>
    <groupId>app.getxray</groupId>
    <artifactId>xray-maven-plugin</artifactId>
    <version>0.7.3</version>
    <configuration>
        <cloud>false</cloud>
        <jiraBaseUrl>https://jira.test.com</jiraBaseUrl>
        <projectKey>E2E</projectKey>
        <testEnvironment>UAT</testEnvironment>
        <fixVersion>1.0</fixVersion>
        <testPlanKey>E2E-577</testPlanKey>
        <reportFormat>cucumber</reportFormat>
        <reportFile>target/cucumber.json</reportFile>
    </configuration>
    <executions>
        <execution>
            <id>import-results</id>
            <phase>post-integration-test</phase>
            <goals>
                <goal>import-results</goal>
            </goals>
        </execution>
    </executions>
</plugin>

执行的Maven命令:

clean verify -e -X -Dcucumber.filter.tags="@E2E_Regression" -Dxray.testPlanKey="E2E-577" -Dxray.fixVersion=1.0 -Dxray.testPlanKey=E2E-577 -Dxray.testEnvironment=UAT -Dxray.jiraUsername=xxx -Dxray.jiraPassword=xxx

可能原因及排查方案

1. 插件与Xray版本不兼容

xray-maven-plugin 0.7.3属于旧版本,可能与你当前使用的Xray Server/Data Center版本存在API或参数逻辑差异,部分字段的传递方式在后续版本中已调整。

解决:

  • 升级插件到最新稳定版(如1.0.1),更新POM中的插件版本后重新执行导入。
  • 确认插件版本与Xray Server版本的兼容性。

2. 账号权限不足

用于导入测试结果的Jira账号需要具备以下权限:

  • 编辑Test Execution问题的权限
  • 关联Test Plan到Test Execution的权限(如Xray内置的Test Execution Editor权限)
  • 修改fixVersion、testEnvironment字段的权限

解决:

  • 检查账号权限配置,确保上述权限已授予。
  • 用该账号手动编辑Test Execution,尝试关联Test Plan、修改目标字段,验证权限是否正常。

3. 参数错误或重复

命令行中重复传递了testPlanKey参数,可能引发解析异常;另外fixVersion需要与项目中已存在的版本名称完全匹配(区分大小写、空格)。

解决:

  • 修正命令行参数,移除重复项:
    clean verify -e -X -Dcucumber.filter.tags="@E2E_Regression" -Dxray.testPlanKey=E2E-577 -Dxray.fixVersion=1.0 -Dxray.testEnvironment=UAT -Dxray.jiraUsername=xxx -Dxray.jiraPassword=xxx
    
  • 确认fixVersion的拼写、大小写与Jira项目中已存在的版本完全一致。

4. testEnvironment为自定义字段

如果testEnvironment是项目自定义字段而非Xray内置字段,直接通过testEnvironment参数无法填充,需要通过customFields配置传递字段ID和值。

解决:

  1. 在Jira中找到testEnvironment字段的ID(进入字段配置页面,URL中的数字部分即为字段ID,如customfield_12345)。
  2. 在插件配置中添加customFields节点:
    <configuration>
        <!-- 其他配置项保持不变 -->
        <customFields>
            <customField>
                <fieldId>customfield_12345</fieldId> <!-- 替换为实际字段ID -->
                <value>UAT</value>
            </customField>
        </customFields>
    </configuration>
    

5. 验证API请求参数传递

通过Maven的DEBUG日志(已使用-X参数),查找插件发送给Xray的API请求体,确认testPlanKey、fixVersion、testEnvironment是否被正确包含:

  • 如果请求体中没有这些参数,检查POM或命令行参数的拼写(如xray.testPlanKey是否正确,注意大小写)。
  • 如果请求体中有参数但Xray未处理,可能是Xray版本不支持该参数,需升级插件或Xray版本。

6. 跨项目关联限制

如果Test Plan(E2E-577)和Test Execution(E2E-583)不属于同一个项目,Xray默认可能不允许跨项目关联,需确认项目配置是否允许跨项目关联Test Plan。

解决:

  • 确保Test Plan和Test Execution属于同一个项目(E2E),或在Xray配置中开启跨项目关联权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 00:44:52