Я пытаюсь создать конвейер Jenkins, в котором я на первом этапе определяю переменную в сценарии оболочки sh.
Затем я хочу запустить следующие этапы, используя условие «когда» в зависимости от ранее определенной переменной.
pipeline {
agent { label 'php71' }
stages {
stage('Prepare CI...') {
steps{
sh '''
# Get the comment that was made on the PR
COMMENT=`echo $payload | jq .comment.body | tr -d '"'`
if [ "$COMMENT" = ":repeat: Jenkins" ]; then
BUILD="build"
fi
'''
}
}
stage('Build Pre Envrionment') {
agent { label 'php71' }
when {
expression { return $BUILD == "build" }
}
steps('Build') {
sh '''
echo $BUILD
echo $COMMENT
'''
}
}
}
}
Это дает мне ошибку:
groovy.lang.MissingPropertyException: Нет такого свойства: $ BUILD для класса: groovy.lang.Binding
Как я могу это сделать? Является ли это возможным?
Спасибо!