groovy Jenkins pipeline如何使用变量中的参数运行构建作业

mzillmmw  于 6个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(93)

在jenkins pipeline中,我想使用变量job_path和job_params运行“构建作业”。job_path = "long/path/to/different/jobs"job_params = [string(name: 'app_one', value: '4.8.6')],但更常见的是job_params = "[string(name: 'app_one', value: '4.8.6'), string(name: 'app_three ', value: '1.2.4'), string(name: 'app_ten', value: '2.7.1')]"

pipeline {
    stages {
        stage('Deployment') {
            steps {
                script {
                    build job: "${job_path}", parameters: job_params
                }
            }
        }
    }
}

字符串
Path很好用,但param不行。我得到一个错误,应该是一个列表,而提供的是一个字符串。

java.lang.ClassCastException: class org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep.setParameters() expects java.util.List<hudson.model.ParameterValue> but received class java.lang.String


第二个:

Also:   org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: xyz
Caused: java.lang.IllegalArgumentException: Could not instantiate {job=long/path/to/different/jobs, parameters=[string(name: 'app_one', value: '4.8.6')]} for org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep


我试着将这个参数变量转换为列表,请告诉我运行作业的最佳方法,由随机参数的路径指向。

jrcvhitl

jrcvhitl1#

你声明字符串:
第一个月

java.lang.ClassCastException: class org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep.setParameters() expects java.util.List<hudson.model.ParameterValue> but received class java.lang.String

字符串
ParametersAction使用列表def List job_params = [ string(name: 'app_one', value: '4.8.6'), string(name: 'app_three ', value: '1.2.4'), string(name: 'app_ten', value: '2.7.1') ]

相关问题