Jenkins Pipeline: Интерактивный Ввод — Пример

В декларативных Jenkins-пайплайнах имеется возможность предложить пользователю интерактивно ввести какие-либо данные, создав «input step».

Например, на каком-то этапе Jenkins-пайплайна вы можете попросить пользователя ввести его учетные данные.

Данные, введенные пользователем, можно сохранять в переменных окружения и использовать их в последующих этапах.

Далее я покажу пример Jenkins-пайплайна с интерактивным вводом.

Дельный Совет: Как задать переменную в Jenkins pipeline! Читать далее →

Пример Интерактивного Ввода в Jenkins

Вот пример Jenkinsfile, в котором пользователю предлагается ввести учетные данные в интерактивном режиме:

pipeline {
  agent any
  stages {
    stage ("Prompt for input") {
      steps {
        script {
          env.USERNAME = input message: 'Please enter the username',
                             parameters: [string(defaultValue: '',
                                          description: '',
                                          name: 'Username')]
          env.PASSWORD = input message: 'Please enter the password',
                             parameters: [password(defaultValue: '',
                                          description: '',
                                          name: 'Password')]
        }
        echo "Username: ${env.USERNAME}"
        echo "Password: ${env.PASSWORD}"
      }
    }
  }
}

В приведенном выше примере мы просим пользователя ввести данные 2 раза.

Каждый раз pipeline останавливается и ждет пока пользователь введет логин, а затем пароль:

[Pipeline] input
Input requested

Дельный Совет: Расшифровка секретов, замаскированных с помощью плагина Jenkins Credentials! Читать Далее →

После того, как данные сохранены в переменных окружения, они могут быть выведены в консоль с помощью команды echo:

[Pipeline] echo
Username: admin
[Pipeline] echo
Password: P@$$w0rd