Трубопровод Дженкинса «когда» с переменной sh - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь создать конвейер 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

Как я могу это сделать? Является ли это возможным? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...