Я использую Дженкинс вер. 2.150.1 и иметь несколько работ вольным стилем и некоторые работы на конвейере.
В обоих типах заданий я использую плагин emailext с шаблонами и сценариями предварительной отправки.
Кажется, что переменная build , доступная в проектах фристайла, равна null в конвейерных проектах.
Сценарий предварительной отправки выглядит следующим образом (просто пример, мой сценарий более сложный):
msg.setSubject(msg.getSubject() + " [" + build.getUrl() + "]")
Нет проблем с переменной msg.
В работе по фристайлу этот скрипт добавляет сборочный URL к теме письма.
В конвейерном задании в консоли задания указано следующее:
java.lang.NullPointerException: Cannot invoke method getUrl() on null object
Вызов emailext в конвейерном задании:
emailext body: '${SCRIPT, template="groovy-html.custom.pipeline.sandbox.template"}',
presendScript: '${SCRIPT, template="presend.sandbox.groovy"}',
subject: '$DEFAULT_SUBJECT',
to: 'user@domain.com'
Я бы лучше нашел общее решение этой проблемы (например, Доступ к переменной build в сценарии предварительной отправки конвейера ), но также был бы признателен за любые обходные пути для моих текущих потребностей. :
Доступ имя задания , номер задания и папка рабочего пространства в сценарии предварительной отправки конвейера.