Передача параметра Jenkins Pipeline в качестве аргумента сценария оболочки - PullRequest
0 голосов
/ 06 января 2020

У меня есть параметризованный конвейер Jenkins со значением по умолчанию, и я пытаюсь передать этот параметр в качестве аргумента сценария, но, похоже, он ничего не передает. Вот сценарий:

pipeline {
   agent any

   stages {
      stage('Building') {
         steps {
            build job: 'myProject', parameters: [string(name: 'configuration', value: '${configuration}')]
         }
      }
      stage('Doing stuff') {
          steps {
            sh "~/scripts/myScript ${configuration}"
          }
      }
   }
}

Кажется, он работает для этапа сборки, но не для сценария. Я возвращаю ошибку, говоря, что у меня нет аргументов. Я пытался получить его с помощью ${configuration}, ${params.configuration} и $configuration.

Как правильно получить доступ к параметру и правильно передать его в сценарий?

Спасибо.

1 Ответ

1 голос
/ 06 января 2020

На самом деле вы используете шаг сборки, чтобы передать параметр в задание Jenkins 'myProject'.

build job: 'myProject', parameters: [string(name: 'configuration', value: '${configuration}')]

Если вы хотите объявить параметр в этом задании, вам нужно объявить свой параметр в блок "параметры".

pipeline {
  agent any

  parameters {
    string(defaultValue: '', description: '', name: 'configuration')
  }

  stages {
    stage('Doing stuff') {
        steps {
            sh "~/scripts/myScript ${configuration}"
        }
    }
  }
}
...