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

Jenkins Pipeline跨流水线传递与引用参数问题咨询

Jenkins 多级流水线参数传递与引用问题解决

问题根源与修正步骤

1. 修复触发二级流水线的参数拼写错误

你当前的触发代码里存在拼写错误:paramters → parameters,这个错误会导致参数根本无法传递到二级流水线,是核心问题。

修正后的触发代码:

script{
    build job: 'Docker-Pipeline', parameters: [string(name: 'source_branch', value: String.valueOf(BRANCH_NAME))]
}

2. 正确在二级流水线中引用参数

Jenkins Pipeline会自动将定义的参数注入到env环境变量中,在Shell步骤里有两种可靠的引用方式:

方式一:用Groovy双引号解析变量后传给Shell(推荐)

stage('PrintParameter'){
    steps{
        // 直接引用参数名,或加上env前缀更规范
        sh "echo ${source_branch}"
        // sh "echo ${env.source_branch}"
    }
}

方式二:直接引用Shell环境变量(Jenkins会将参数转为大写+下划线格式)

stage('PrintParameter'){
    steps{
        sh 'echo $SOURCE_BRANCH'
    }
}

补充说明

你之前用sh 'echo ${source_branch}'无输出的原因是:单引号会让Groovy直接将字符串原封不动传给Shell,而Shell环境中不存在source_branch变量,因此输出为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:05:25