Как добавить настраиваемые метрики в желе для email-ext?

Используя Jenkins и email-ext, я скопировал шаблон «html» и заставил его выглядеть так, как я хочу для нашей сборки почты.

Что я хотел бы сделать сейчас, так это получить некоторые пользовательские показатели в почте сборки. В частности, наши задания сборки вызывают ряд PHP-скриптов, которые выполняют работу. Один из этих скриптов создает кучу файлов в каталоге. Я бы хотел, чтобы наша сборочная почта имела строку вывода, например:

The super cool script created 8 files for your enjoyment.

PHP-скрипт, конечно же, знает, что он создал 8 файлов. Как этот скрипт мог получить это число в том месте, где Желе мог его знать и вывести? Есть ли способ, чтобы Jenkins хранил такие вещи и делал их доступными для шаблона Jelly?


person Christopher Ambler    schedule 22.07.2014    source источник


Ответы (2)


Используйте подключаемый модуль EnvInject https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin

Установите переменную Enviroment в вашем PHP-скрипте.

Выведите переменную среды в свой Email-Ext

person Cole9350    schedule 22.07.2014

Если файлы создаются в определенном каталоге, поэтому подсчет количества файлов в папке достаточно хорош, вы можете попробовать что-то подобное в своем шаблоне желе (примечание: я не проверял):

<j:set var="filesCreated" value="${build.getWorkspace().child('path/to/result/dir').list().size()}"/>

The super cool script created ${filesCreated} files for your enjoyment.
person Akos Bannerth    schedule 22.07.2014
comment
Хотя это сработает для конкретного примера, есть и другие вещи, которые выполняет каждое задание и которые я хотел бы вывести, которые не так просты, как подсчет файлов, поэтому плагин envinject — это то, что нужно. Но да, это сработает для конкретного примера, так что с этим предложением проблем нет. - person Christopher Ambler; 25.07.2014