在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
型
我试着将这个参数变量转换为列表,请告诉我运行作业的最佳方法,由随机参数的路径指向。
1条答案
按热度按时间jrcvhitl1#
你声明字符串:
第一个月
字符串
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') ]