2015-05-19 2 views
0

Я пытаюсь настроить плагин интеграции графита для своих заданий с использованием Jenkins Job DSL. Мой блок выглядит следующим образом:Использование «имени» при настройке графита с помощью Jenkins Job DSL

coreJobs = [my jobs here] 
coreJobs.each{ a -> 
    // some extra job config here 
    job("$a") {  
     project/'publishers'/'org.jenkinsci.plugins.graphiteIntegrator.GraphitePublisher' { 
      selectedIp '192.123.1.456' 
      metrics { 
       'org.jenkinsci.plugins.graphiteIntegrator.Metric' { 
       queueName ".${a}.BuildFailed" 
       name  'BUILD_FAILED' 
       } 
      } 
     } 
    }  
} 

Без этого графитовой декларации она перебирает, создание рабочих мест с использованием рабочих мест объявили в $ а. Но поскольку графит dsl требует параметра «имя», генератор DSL просто игнорирует задания, объявленные в $ a, и создает задание «BUILD_FAILED» !!

Итак, мой вопрос в том, как остановить плагин DSL, пытающийся использовать параметр «name» в качестве имени задания?

Дополнительная информация, я не думаю, что BUILD_FAILED должна быть строкой. Я думаю, что это объект, но я не уверен, как я буду использовать это здесь или если он требует другого синтаксиса.

Благодаря

+0

Вы должны исправить отступы вашего примера и удалить все ненужные коды, чтобы было легче обнаружить проблему. – daspilker

+0

Значительно меньше и, надеюсь, более читаемый сейчас, спасибо – Glef

ответ

1

После повторного прочтения документации я нашел пример противоречивого элемента: https://github.com/jenkinsci/job-dsl-plugin/wiki/The-Configure-Block

Док предлагает использовать «переменную делегат». Таким образом, теперь в моем коде используется: delegate.name ('BUILD_FAILED')

Теперь это означает, что мои задания создаются с правильными именами и не создано задание «BUILD_FAILED».

Смежные вопросы