Скрипт Jelly по умолчанию для плагина Jenkins Email-ext показывает все модульные тесты, а не только неудачные

Я использую плагин Email-ext для Jenkins и скрипт Jelly по умолчанию $ {JELLY_SCRIPT, template = "html"}.

Шаблон явно выводит все модульные тесты в электронном письме, а не только те, которые не прошли и сделали сборку нестабильной. Само по себе это странное дизайнерское решение, так как важный контент теряется, но есть ли простой способ просто вывести неудавшиеся тесты в электронное письмо? Я полагаю, мне нужно где-то отредактировать шаблон сценария Jelly по умолчанию? Спасибо!


person user1340582    schedule 16.02.2014    source источник


Ответы (2)


${JELLY_SCRIPT,template="html"} в этом скрипте html относится к файлу html.jelly. В Hudson этот файл находится по пути HUDSON_HOME/plugins/email-ext/WEB-INF/classes/hudson/plugins/emailext/templates. Вы можете создать свой собственный файл желе, скажем abc.jelly, и использовать скрипт как ${JELLY_SCRIPT,template="abc"}

Однако в Jenkin эти шаблоны желе были связаны с jar email-ext.jar, который находится в Jenkin_Home/plugins/email-ext/WEB-INF/lib. Откройте эту банку и обновите / создайте шаблоны в папке /plugins/emailext/templates/ в соответствии с вашими требованиями.

person Dipu H    schedule 16.02.2014
comment
Хм интересно. Я не мог толком найти кроме шаблона. Я уверен, что где-то хранятся примеры Groovy / Jelly, созданные людьми, я полагаю? Электронное письмо в формате html, содержащее сводные данные о тестах и ​​покрытии, графики, изменения и т. Д.? - person user1340582; 17.02.2014
comment
@ Дипу, спасибо. Потратил 2 часа на поиск этого html.jelly. - person NotAgain says Reinstate Monica; 05.09.2014
comment
как открыть и снова упаковать этот jar файл ?? - person Yogesh Jilhawar; 01.10.2018

Вот отличный пример того, как это делается с помощью скрипта Jelly: https://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/html-with-health-and-console.jelly -> Найдите "JUnit TEMPLATE".

Но более конкретно это делается с помощью

packageResult.getFailedTests()
person user3360767    schedule 12.08.2014