2015-12-18 5 views
3

Я пытаюсь сделать параметризированную сборку новой работы из моего существующего задания следующим образом:Дженкинс Workflow строит новую работу

Я попробовал оба пути:

build('NEXT-DEPLOY-JOB', PARAM_FROM_BUILD:'1.4', DEPLOYMENT_ENVIRONMENT: "QA") 

и без paranthesis образом:

build 'NEXT-DEPLOY-JOB', PARAM_FROM_BUILD:'1.4', DEPLOYMENT_ENVIRONMENT: "QA" 

Однако в обоих случаях я получаю такую ​​ошибку:

java.lang.IllegalArgumentException: Expected named arguments but got [{PARAM_FROM_BUILD=1.4, DEPLOYMENT_ENVIRONMENT=QA4}, NEXT-DEPLOY-JOB] 

Скажите, пожалуйста, что я здесь делаю неправильно?

ответ

3

Синтаксис цитируемый @Jayan будет работать, но не рекомендуется. (И синтаксис Workflow не имеет ничего общего с сохранением состояния.)

Использования Отрывка Генератор увидеть пример корректного синтаксиса, учитывающего типов параметров, ожидаемых от конкретной вниз по течению работы вы запускающая.

+0

Когда я использую генератор фрагментов в 2.0 конвейерах, я получаю что-то вроде 'build ('trunk/checkout', parameters: [[$ class: 'StringParameterValue', name: 'PIPELINE_ID', value: env.BUILD_ID]]) ', и я все еще получаю эту ошибку (' Ожидаемые именованные аргументы, но получил [{parameters = [{$ class = StringParameterValue, name = PIPELINE_ID, value = 16}]}, trunk/checkout] '). – naught101

+0

Вы забыли 'job:'. Прочтите учебник. –

+0

Дело в том, что этот код появился прямо из генератора фрагментов, as-is (за исключением 'env.BUILD_ID'). Я не удалял параметр «job:». Поэтому рекомендовать генератор фрагментов недостаточно. – naught101

1

попробовать что-то, как показано ниже (как я узнал от @Jesse Глик, это осуждается ..)

build job: 'NEXT-DEPLOY-JOB', parameters: [new hudson.model.StringParameterValue('PARAM_FROM_BUILD', '1.4'), 
hudson.model.StringParameterValue('DEPLOYMENT_ENVIRONMENT', 'QA') 
] 
Смежные вопросы