Как установить значения параметров в задании конвейера Jenkins - PullRequest
0 голосов
/ 07 апреля 2020

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

Проблема, с которой я сталкиваюсь, заключается в том, что на большинстве заданий у меня "Активно Choices Reactive Parameter "параметры, которые заполняются сценарием сценария и требуют выбора значения для построения задания.

Моя цель состоит в том, чтобы автоматически построить задание и установить с помощью кода тестовое значение, но все, что я пробовал до сейчас не удалось. например:

 stage('Test') {
 build job: 'Test-regression', parameters: [
 [$class: 'WHideParameterValue', name: 'envListDb', value: 'TestEnvironmentListByOperator'],
 string(name: 'Operator', value: 'TestOp'),
 validatingString(name: 'OperatorValidation', value: 'TestOp'),  
 string(name: 'Environment', value: 'Test'),
 validatingString(name: 'EnvironmentValidation', value: 'Test')
 ]
}

При выполнении этого я получил «параметр« Оператор »не имел тип, ожидаемый тест-регрессией. Преобразование в активный выбор Реактивный параметр», так как я уже упоминал, я думаю, что проблема не в имея фактическое выбранное значение для самой сборки.

Возможно, я делаю это неправильно, но я был бы признателен, если бы у кого-нибудь была идея, которая избавила бы меня от необходимости создавать новый макет только для тестирования конвейера. Спасибо

1 Ответ

0 голосов
/ 07 апреля 2020

Как я понимаю здесь Test-regression - это отдельный конвейер с входными параметрами Operator и Environment. Вы хотите вызвать конвейер Test-regression в другом конвейере, для которого вы поделились кодом.

У меня было похожее требование, и следующий код работал для меня. Я изменил код в соответствии с вашими требованиями:

env.TestOp="your_val_1";
env.Test="your_val_2";

stage ('Test') {
            steps {
                build job: 'Test-regression', parameters: [
                string(name: 'Operator', value: "${TestOp}"),
                string(name: 'Environment', value: "${Test}")
                ]
            }
        }
...