通常のパラメータ付きビルドだと前回実行時の値が初期値として入っていますが、
Pipelineジョブだと、毎回 defaultValue の値が初期値になります。
前回の値を引き継ぎたい場合は defaultValue に env.<パラメータ名>を入れます。
Jenkinsfile
pipeline {
agent any
parameters {
string(
name: 'PARAM1',
defaultValue: env.PARAM1,
description: '',
)
}
stages {
stage('Build') {
steps {
sh "echo '${params.PARAM1}'"
}
}
}
}
groovyのエルビス演算子を使うことにより、前回の値を引き継いだ上に初期値まで設定することもできます。
Jenkinsfile
pipeline {
agent any
parameters {
string(
name: 'PARAM1',
defaultValue: (env.PARAM1 ?: 'param1'),
description: '',
)
}
stages {
stage('Build') {
steps {
sh "echo '${params.PARAM1}'"
}
}
}
}
まとめると
Jenkinsfile
pipeline {
agent any
parameters {
string(
name: 'PARAM1',
defaultValue: env.PARAM1,
description: '前回の値を引き継ぐ。初期値はなし。',
)
string(
name: 'PARAM2',
defaultValue: (env.PARAM2 ?: 'param2'),
description: '前回の値を引き継ぐ。初期値もある。',
)
}
stages {
stage('Build') {
steps {
sh "echo '${params.PARAM1}'"
sh "echo '${params.PARAM2}'"
}
}
}
}