`Input` - это директива или шаг

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

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

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

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

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"
                                ^

person Na13-c    schedule 14.03.2019    source источник


Ответы (2)


В декларативном конвейере вы должны поместить его непосредственно под уровень 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 *')
        }
    }
}
person StephenKing    schedule 14.03.2019

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

pipeline {
    agent any
    stages {
        stage('stage1') {
            input {
                message "press OK to continue"
            }
            steps {
                sh "mkdir dir1"
                dir("dir1") {
                    sh "echo 'Hello'"
                }
            }
        }
    }
}
person gen64    schedule 14.03.2019
comment
Да, я так предположил. К сожалению, это не то, что нужно. Необходимо приостановить выполнение конвейера для пользовательского ввода непосредственно перед шагом, выбранным разработчиком конвейера. - person Na13-c; 14.03.2019