Является ли `input` директивой или шагом - PullRequest
1 голос
/ 14 марта 2019

Директива ввода на сцене позволяет вам запрашивать ввод, используя шаг ввода...

(цит. По синтаксису конвейера, документация пользователя Jenkins https://jenkins.io/doc/book/pipeline/syntax/#input)

Так что input на самом деле является директивой или шагом? Как понять фразу "с помощью вводаstep "

Используемый здесь конвейер (извлечение):

stage('StageName') {
    when { environment name: 'VAR1', value: 'true' }
    steps {
        input {
            message: "press OK to continue"
        }
        dir('doithere') {
            git url: gitcoord[0], branch: gitcoord[1], credentialsId: gitcoord[2] 
            cmd('ls -alh') 
        }
    }
}

Время выполнения:

WorkflowScript: 336: Expected a step @ line 336, column 34.
                       message: "press OK to continue"
                                ^

Ответы [ 2 ]

1 голос
/ 14 марта 2019

В декларативном конвейере вы должны поместить его непосредственно ниже уровня stage («директива»). Тогда это в форме input { .. }.

В скриптовых конвейерах (или script блоках в декларативных конвейерах) он существует как обычный шаг. Синтаксис тогда будет input(..):

stage('StageName') {
    when { environment name: 'VAR1', value: 'true' }
    steps {
        dir('doithere') {
            git url: gitcoord[0], branch: gitcoord[1], credentialsId: gitcoord[2] 
            cmd('ls -alh') 
            input(message: "press OK to continue")
            cmd('rm -rf *')
        }
    }
}
0 голосов
/ 14 марта 2019

Ниже у меня работало:

pipeline {
    agent any
    stages {
        stage('stage1') {
            input {
                message "press OK to continue"
            }
            steps {
                sh "mkdir dir1"
                dir("dir1") {
                    sh "echo 'Hello'"
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...