Jenkinsfile - использовать оператор if на этапе после сбоя - PullRequest
1 голос
/ 30 января 2020

Я хотел бы получить оператор if на этапе сбоя {} на этапе post {}.

Я пробовал следующие разные способы:

    post {
        cleanup {
            cleanWs()
        }

        failure {
            step {
                script {
                    if ( JOB_NAME.contains("myjob") ) {
                        // do something
                    }
                }
            }
        }
    }

Ошибка:

WorkflowScript: 372: Missing required parameter: "delegate" @ line 372, column 13.
               step {
               ^

Вторая попытка:

    post {
        cleanup {
            cleanWs()
        }

        failure {
            steps {
                script {
                    if ( JOB_NAME.contains("myjob") ) {
                        // do something
                    }
                }
            }
        }
    }

Ошибка:

java.lang.NoSuchMethodError: No such DSL method 'steps' found among steps

Третья попытка:

    post {
        cleanup {
            cleanWs()
        }

        failure {
            step (
                    if ( JOB_NAME.contains("myjob") ) {
                        // do something
                    }
                )
            }
        }
    }

Ошибка:

WorkflowScript: 373: unexpected token: if @ line 373, column 21.
                       if ( JOB_NAME.contains("streampilot-ci") ) {

Кто-нибудь знает, как правильно получить оператор if в разделе сбоя {}? Я бегу 2.204 или Дженкинс

1 Ответ

0 голосов
/ 31 января 2020

Вам не нужно step в условиях. См. Официальную документацию .

post {
    cleanup {
        cleanWs()
    }
    failure {
        script {
            if ( JOB_NAME.contains("myjob") ) {
                // do something
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...