Если в 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" стейджа.