
If a variable is used in Jenkins Pipeline that is created on the basis of a Webhook or etc, then a task will fail with a manual start. To avoid this, you can add a check for the existence of a variable and set its value.
pipeline {
agent any
stage('Check ENV') {
when { expression { env.GIT_COMMIT_ID == null } }
steps {
script {
echo "COMMIT ID IS NOT SET"
env.GIT_COMMIT_ID = sh(script: 'git log --format="%H" -n 1', returnStdout: true).trim()
}
}
}
}
}
In this example, the presence of the variable "GIT_COMMIT_ID" is checked, and if it is absent, a script is executed that sets this variable with the value of the last HASH commit for this branch. This check should be performed only after the "checkout" stage.