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

如何在Declarative Pipeline中使用Jira steps解决CPS转换报错

问题解决方案

错误原因

你遇到的报错和Jira Steps是否支持声明式流水线无关,本质是Groovy Map语法书写错误导致Jenkins CPS转换无法识别代码结构:你定义testIssue变量时,fields、project作为Map的键,后面缺失了Groovy Map要求的冒号分隔符,同时还有变量插值的语法问题。

具体修改点

  • 补全Map键值对分隔冒号:给fields、project两个键后面增加冒号,符合Groovy key: value的Map语法规则
  • 修正变量插值语法:summary字段用了单引号包裹$BUILD_NUMBER,单引号不会触发Jenkins变量插值,需要替换为双引号
  • 可选优化:给response变量增加def声明,避免流水线全局变量污染

修正后的完整代码

stages {
    stage('Create JIRA Ticket'){
        steps{
            script {
                def jiraserver = "Demo"
                
                def testIssue = [fields: [
                        project: [id: '10101'],
                        summary: "[Test] Code Scan - $BUILD_NUMBER ",
                        description: 'Automated Pipeline',
                        customfield_1000: 'customValue',
                        issuetype: [id: '10000']]]
                    
                def response = jiraNewIssue issue: testIssue
                echo response.successful.toString()
                echo response.data.toString()
                
                jiraAddComment site: 'Demo', idOrKey: 'Test-1', comment: 'Started Unit Tests'
            }
        }               
    }
}

验证说明

修改后直接运行即可正常调用Jira Steps创建工单,Jira Steps插件原生支持在声明式流水线的script块中调用,无需切换为脚本式流水线。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:45:02