Jenkins:如果管道中的特定参数为';它是空的

Jenkins:如果管道中的特定参数为';它是空的,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,在通用管道中,我有以下内容: pipeline { agent any parameters { string(name: "TEST_VAR", description: "testvar") } stages { stage("My stage") { agent { docker {

在通用管道中,我有以下内容:

pipeline {
    agent any
    parameters {
        string(name: "TEST_VAR", description:  "testvar")
    }
    stages {
        stage("My stage") {
            agent {
                docker {
                    image 'myimage'
                    args "-u root:root"
                }
            }
            steps {
                script {
                    params.each {param -> 
                        if (param.value == "") { sh "unset ${param.key}" }
                    }
                    sh 'printenv'
                }
            }
        }
    }
}

但是,即使我将参数保留为空,printenv步骤也会将TEST_VAR打印为现有的空环境变量,就好像unset步骤不起作用一样。我如何才能正确地取消设置它,使它完全不被声明?

事实证明,jenkins参数是不可变的。我通过使用名为TEST_VAR_PARAM的参数解决了这个问题,然后检查它是否为空,并根据它的值创建一个TEST_VAR env值