Отправить вывод консоли Дженкинса как HTML-письмо
Я не знаю, возможно ли это вообще, но все еще прошу здесь посмотреть, не пробовал ли кто-нибудь/думал об этом.
У меня работает сборка, которая при сбое Эхо-кода html, как показано ниже. Я хочу отправить этот html как электронное письмо всем получателям.
В настоящее время, когда я использую простой плагин электронной почты, весь вывод консоли отправляется как электронное письмо, содержащее все эти HTML-теги (не читаемые). Затем я установил плагин Email Ext, но я не уверен если сценарий предварительной отправки может считывать вывод моей консоли и отправлять электронную почту. Кто-нибудь пробовал? Стоит ли тратить на это время или просто изменить вывод для отображения форматированного текста?
эта сборка предназначена для внутренних инструментов, и я не могу создать .HTML-файл или отправить ссылку на .html-файл как электронная почта, потому что путь находится за брандмауэром.
Я не знаю, поддерживается ли это вообще, но возможно ли, что вывод консоли показывает вывод html?
Спасибо за помогите!
<style type="text/css">
table.gridtable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
}
table.gridtable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
}
table.gridtable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
</style>
<table class="gridtable">
<thead>
<tr>
<th>Service Checked</th>
<th>Status</th>
<th>Response</th>
</tr>
</thead>
<tbody>
<tr>
<td>canary</td>
<td>Success</td>
<td>Please override the check() method</td>
</tr>
<tr>
<td style="color: red;"><strong>www.mysite.com</strong></td>
<td style="color: red;">Failure</td>
<td>Ping to https://www.mysite.com/canary?from=here FAILED</td>
</tr></tbody></table>
4 ответов
email Ext плагин отлично работает с HTML. Это зависит от вашего почтового клиента для анализа HTML (но опять же, в большинстве случаев в эти дни).
вопрос: как ваша сборка выводит этот HTML выше? Выводит ли он его в файл? Он отображает его в выводе консоли?
если текст находится в выводе консоли, используйте:
<pre>${BUILD_LOG_EXCERPT, start="Regex-for-start", end="Regex-for-end"}</pre>
на <pre>
теги сохранять интервал/форматирование.
The start
и end
регулярные выражения определите "начальную линию", с которой начинается отображение журнала, и "конечную линию", с которой прекращается отображение журнала.
отметим, что start
и end
исключаются сами строки. Итак, в вашей сборке поместите строки верхнего и нижнего колонтитулов непосредственно перед и сразу после вывода html и используйте их здесь.
для справки в конфигурации email-ext нажмите Справку значок вопросительного знака ?
Так вот как я решил его с помощью @Slav.
работа Дженкинса выполняла этот скрипт:
<?php
echo "start-here\n";
echo "<html><body><table border=1>
<tr><td>yello1111</td><td>11111bbbbbbb</td></tr>
<tr><td>yelloooo</td><td>bbbbbbb</td></tr>
</table></body></html>";
echo "end-here\n";
задание было настроено с помощью электронная почта-ext и добавить действие после сборки- > редактируемое уведомление по электронной почте - > содержимое по умолчанию я поставил следующее:
${BUILD_LOG_EXCERPT, start="\b(start-here)\b", end="\b(end-here)\b"}
это отправить по электронной почте как html-содержимое, а не текст html.
перейти к "управление-Дженкинс" -> " настройка системы" Чем в настройках "расширенное уведомление по электронной почте", поместите нижеприведенную строку в текстовую область" содержимое по умолчанию"
<pre>${BUILD_LOG, maxLines=9999, escapeHtml=false}</pre>
электронная почта-ext плагин работает довольно хорошо для меня. Попробуй.