Как добавить описание работы в содержание уведомления по электронной почте Jenkins
Используя " Настроить систему"> "Расширенная настройка уведомлений по электронной почте" в Jenkins, я хотел бы добавить описание своей работы (представленной на странице http://my-jenkins.org/job/myjob) в содержимое по умолчанию для писем с ошибками сборки.
Есть ли переменная $PROJECT_DESCRIPTION, которую я могу использовать для этого? Или это можно сделать с помощью сценария Jelly/Groovy?
Спасибо!
2 ответа
По словам Злой, у Дженкинса нет такой переменной, но вы можете настроить свою собственную. У Jenkins есть плагин для установки переменных окружения через файл
Плагин Envfile
Описание выдержки
grep -o '<description>.*</description>' /var/lib/jenkins/jobs/your_job_here/config.xml | sed 's/\(<description>\|<\/description>\)//g'
И сохраните его в файле, например, для: /tmp/ENV
Если содержание описания "Hello world".
cat /tmp/ENV
$PROJECT_DESCRIPTION=Hello World
Теперь добавьте $PROJECT_DESCRIPTION в свой адрес электронной почты.
Для динамически обновляемого описания у меня есть обходной путь для вас, пока я не найду лучшее решение... создайте сценарий оболочки "wrapper.sh"
кошка обертка.sh
#!/bin/bash
echo "PROJECT_DESCRIPTION=`grep -o '<description>.*</description>' /var/lib/jenkins/jobs/your_job_here/config.xml | sed 's/\(<description>\|<\/description>\)//g'`" > /tmp/env
Этот скрипт динамически создает ваш файл env.
Теперь установите плагин ManagedScript:-
Создайте файл управляемого сценария, перейдя по указанной выше ссылке со следующим содержимым
sh /tmp/wrapper.sh
Теперь перейдите к конфигурации вашего проекта:-
1). Под опцией Build добавьте "Выполнить управляемый скрипт и выберите тот, который вы создали на предыдущем шаге".
2). применить и сохранить.
Вуаля.
Такой переменной среды не существует, но вы можете установить ее самостоятельно:
${JENKINS_HOME}/jobs/${JOB_NAME}/config.xml
в качестве одной из первых записей содержит тег XML, который называется "описание". Разобрать его в переменной, а затем использовать для добавления в тело письма через электронную почту ext.