Can I check if Environment variable exist or not in Jenkinsfile Can I check if Environment variable exist or not in Jenkinsfile jenkins jenkins

Can I check if Environment variable exist or not in Jenkinsfile


You may check it before use it:

 if (env.CHANGE_ID) { ...

From the doc

Environment variables accessible from Scripted Pipeline, for example: env.PATH or env.BUILD_ID. Consult the built-in Global Variable Reference for a complete, and up to date, list of environment variables available in Pipeline.


This is how it would look like for a declarative pipeline:

pipeline {    // ...    stages {        // ...        stage('Build') {            when {                allOf {                    expression { env.CHANGE_ID != null }                    expression { env.CHANGE_TARGET != null }                }            }            steps {                echo "Building PR #${env.CHANGE_ID}"            }        }    }}

To run a stage only when not building a PR:

when { expression { env.CHANGE_ID == null } }


You can also use the changeRequest() function in the when clause to check for PR:

when {   anyOf {      changeRequest()    // if pull request      branch 'master'      branch 'release/*'   }}