我具有以下常规代码:
if (!parameters.containsKey('BUNDLE_NAME'))
{
echo "mandatory param"
error ("mandatory param")
}
if (!parameters.containsKey('BUNDLE_VERSION'))
{
echo "mandatory param"
error ("mandatory param")
}
从控制台:
[Pipeline] echo
mandatory param
[Pipeline] error
答案 0 :(得分:0)
首先,当您的管道定义参数时,您可以放心地假定这些键将在那里。这仅对防止其他人在不知不觉中从参数中删除它们很有帮助,即使那样,当按名称访问它们时,管道也会失败。
现在,使用关键字parameters
在管道中定义,但是使用关键字params
访问 ,例如:< / p>
pipeline {
agent any
parameters {
string(name: 'BUNDLE_NAME', defaultValue: '', description: '')
string(name: 'BUNDLE_VERSION', defaultValue: '', description: '')
}
stages {
stage('A') {
steps {
script {
println "BUNDLE_NAME is ${params.BUNDLE_NAME}"
println "BUNDLE_VERSION is " + params.BUNDLE_VERSION
}
}
}
}
}
答案 1 :(得分:0)
这是我的坏事,但对其他人来说是一个教训: 管道代码:
def f(l, sub):
return next(x for x in l if sub in x)
我必须以小写字母表示变量
stage ("valdation"){
steps{
script{
amd_distribution_check_artifacts_exists credential_id: params.DISTRIBUTION_CREDENTIAL_ID, distribution_url: params.DISTRIBUTION_URL, bundle_name: params.BUNDLE_NAME, bundle_version: BUNDLE_VERSION
}
}
}