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

使用XrayImportBuilder关联Jira问题时遇400错误求助

问题:使用XrayImportBuilder关联Jira问题时出现400错误

ERROR: Unable to confirm Result of the upload.....
Upload Failed! Status:400 Response:{"error":"Error creating Test Execution - Issue create failed! - issuelinks: Field 'issuelinks' cannot be set. It is not on the appropriate screen, or unknown."

我的Jenkins流水线代码如下:

step([$class: 'XrayImportBuilder', 
    endpointName: '/nunit/multipart', 
    importFilePath: 'nunit3.xml', 
    importToSameExecution: 'true', 
    projectKey: 'AT', 
    serverInstance: jiraServerId, 
    importInParallel: 'true',
    inputInfoSwitcher: 'fileContent',
    importInfo: """{
       "fields":{
          "project":{
             "key":"AT"
          },
          "summary":"${summary}",
          "issuetype":{
             "name":"Test Execution"
          }
       },
        "update":{
          "issuelinks": [{
                  "add": {
                    "values": [
                      {
                        "type": {
                          "id": "10102"
                        },
                        "outwardIssues": [
                          {
                            "key": "AT-23"
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            
        }
    }"""
])

去掉update字段时可正常运行,但添加update-issuelinks字段后就失败了。根据文档说明,importInfo需符合Jira issue create/update REST API格式(XrayImportBuilder使用v2端点"rest/api/2/issue"),但实际未按预期工作,请问遗漏了什么?


解决办法

  • 检查屏幕配置:Jira的issuelinks字段必须出现在Test Execution类型问题的创建屏幕上。进入Jira管理界面,找到对应项目的屏幕方案,确认Test Execution的创建屏幕包含“问题链接”字段。如果没有,添加该字段到对应屏幕。

  • 修正issuelinks的JSON格式:创建Issue时,Jira REST API的issuelinks字段不需要放在update节点下,而是直接定义在fields中,且格式与更新操作不同。正确的创建时关联问题的格式如下:

    "fields":{
       "project":{
          "key":"AT"
       },
       "summary":"${summary}",
       "issuetype":{
          "name":"Test Execution"
       },
       "issuelinks": [
          {
             "type": {
                "id": "10102"
             },
             "outwardIssue": {
                "key": "AT-23"
             }
          }
       ]
    }
    

    注意这里用的是outwardIssue(单数)而非outwardIssues,且不需要add操作——因为是创建时直接设置字段值,不是对已有Issue进行更新操作。

  • 验证链接类型ID有效性:确认10102这个链接类型ID在你的Jira实例中存在且可用。可以通过Jira REST API的/rest/api/2/issueLinkType接口查询所有可用的链接类型,核对ID是否正确,同时确认该链接类型允许对应的关联方向。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:10:18