
Если в Jenkins Pipeline используется переменная, которая создается на основе Webhook'а или т.п., то при ручном запуске задача завершится ошибкой. Чтобы это избежать, можно добавить проверку существования переменной и задать ей значение.
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()
}
}
}
}
}
В данном примере проверяется наличие переменной "GIT_COMMIT_ID", и при ее отсутствии выполняется скрипт, который задает данную переменную со значением последнего HASH коммита для данной ветки. Данная проверка должна выполнятся только после "checkout" стейджа.