我尝试使用以下 Jenkinsfile 仅在主分支上请求输入,并且无法获得时髦的 grammer pass 验证:
pipeline {
stage('Deploy') {
when {
branch 'master'
}
steps {
input(message: "Please input", parameters: [string(name: "VERSION", defaultValue="", description="")]
}
}
}
错误是:
java.lang.IllegalArgumentException: Expected named arguments but got [{name=VERSION, description=""}, null]
我搜索了很多,但没有找到一个关于在 Jenkinsfile 中使用input
步骤的示例parameters
。
谁能对此有所了解?提前感谢!
最后找到一种方法来做到这一点,我们应该用script
关键字包装输入。
stage('Deploy to k8s prod') {
when {
branch 'release-prod'
}
steps {
script {
env.VERSION = input message: '请输入参数', ok: '确定', parameters: [
string(name:'VERSION', description: "版本号")]
}
sh "echo ${env.VERSION}"
}
}
}