Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jenkins管道中,带有布尔参数的输入步骤始终为真_Jenkins_Jenkins Pipeline - Fatal编程技术网

在Jenkins管道中,带有布尔参数的输入步骤始终为真

在Jenkins管道中,带有布尔参数的输入步骤始终为真,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我用一个布尔参数向Jenkins管道添加了一个输入步骤。但是,无论我在运行管道时是否选中该框,控制台输出总是显示“YEAH” 我错过了什么?我的理解是,如果用户取消选中该参数,那么脚本应该输入else语句 stage('Dockerize') { input { message 'Build Docker image' parameters { booleanParam(name: 'BUILD_DO

我用一个布尔参数向Jenkins管道添加了一个输入步骤。但是,无论我在运行管道时是否选中该框,控制台输出总是显示“YEAH”

我错过了什么?我的理解是,如果用户取消选中该参数,那么脚本应该输入else语句

stage('Dockerize') {                
    input {
        message 'Build Docker image'
        parameters {
            booleanParam(name: 'BUILD_DOCKER_IMAGE', defaultValue: true, description: 'Uncheck to skip creation of Docker image.')
        }
    }
    steps {
        script {
            if (BUILD_DOCKER_IMAGE) {
                echo "YEAH"
            } else {
                echo "NAY"
            }
        }                    
    }
}

我发现我需要将变量解析为布尔值:

if (BUILD_DOCKER_IMAGE.toBoolean()) {
  // Do stuff here...
}

我发现我需要将变量解析为布尔值:

if (BUILD_DOCKER_IMAGE.toBoolean()) {
  // Do stuff here...
}

无论实际参数类型如何,语句
PARAMETERNAME
env.PARAMETERNAME
的类型始终为
String
。这是因为它们作为环境变量传递,环境变量只能是字符串

要保留原始类型,请使用
params.PARAMETERNAME

if(参数BUILD\u DOCKER\u IMAGE){
//在这里做事。。。
}

BUILD\u DOCKER\u IMAGE.toBoolean()

语句
PARAMETERNAME
env.PARAMETERNAME
的类型始终是
String
。这是因为它们作为环境变量传递,环境变量只能是字符串

要保留原始类型,请使用
params.PARAMETERNAME

if(参数BUILD\u DOCKER\u IMAGE){
//在这里做事。。。
}
BUILD\u DOCKER\u IMAGE.toBoolean()
更干净、更安全