Senden Jenkins Konsole die Ausgabe als HTML-E-Mails
Ich weiß nicht, ob dies überhaupt möglich ist, aber immer noch Fragen hier, um zu sehen, ob jemand versucht hat/drüber nachgedacht.
Habe ich einen build ausgeführt, dass, wenn die fehl echo aus html-code wie unten angegeben. Ich möchte senden Sie diesen html als E-Mail an alle Empfänger.
Derzeit, wenn ich die einfache E-Mail-plugin, dann wird die ganze Ausgabe der Konsole gesendet wird, als eine E-Mail, die enthält alle diese html-tags (nicht lesbar). Ich habe dann installiert die E-Mail-Ext-plugin, aber ich bin nicht sicher, ob die pre-send-script Lesen kann meine Konsole Ausgabe und E-Mail senden. Hat schon mal jemand probiert? Ist es Wert, Zeit oder soll ich das einfach ändern Sie die Ausgabe der Ausgabe von formatiertem text?
Dieser build ist für interne tools und ich kann es nicht schaffen .html-Datei oder versenden Sie den link zu der .html-Datei als E-Mail, weil der Weg hinter einer firewall.
Ich weiß nicht, ob dies unterstützt wird, aber ist es möglich, dass die Ausgabe der Konsole zeigt die html-Ausgabe?
Danke für die Hilfe!
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>
Du musst angemeldet sein, um einen Kommentar abzugeben.
E-Mail-Ext-plugin funktioniert Prima mit HTML. Es ist bis zu Sie Ihre E-Mail-client zu Parsen von HTML (aber dann wieder, die meisten in diesen Tagen tun).
Die Frage ist: wie sieht Ihre Aufbau-Ausgabe dieser HTML-oben? Tut es Ausgabe an die Datei? Tut es zeigen Sie es in der Ausgabe der Konsole?
Wenn der text in der Ausgabe der Konsole verwenden:
<pre>${BUILD_LOG_EXCERPT, start="Regex-for-start", end="Regex-for-end"}</pre>
Den
<pre>
tags sind zu bewahren-Abstand/- Formatierung.Die
start
undend
reguläre Ausdrücke zu identifizieren, die "Startlinie" aus dem starten die Anzeige melden, und der "unendlichen Linie", an denen zu stoppen, die Anzeige melden.Beachten Sie, dass die
start
undend
Linien selbst sind ausgeschlossen. Also, in deinem build, legen Sie ein header-und footer-Zeilen unmittelbar vor und kurz nach Ihr die html-Ausgabe, und verwenden Sie Sie hier.Referenz, in der E-Mail-ext-Konfiguration, klicken Sie auf die Content Reference Fragezeichen-Symbol ?
${BUILD_LOG_EXCERPT, start="\\b(start-here)\\b", end="\\b(end-here)\\b"}
und meine test-php-Skript ist der Druck mit diesen beiden vor und nach dem html, aber ich bin immerorg.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script1.groovy: 1: unexpected token: < @ line 1, column 1. <html><body><table border=1> ^ 1 error
Default Content
, nichtpre-send
Also das ist, wie ich es gelöst mit Hilfe von @Slav.
Jenkins job war es, dieses Skript ausführen:
War der job konfiguriert mit E-Mail-ext und in der Add post-build action->Editierbare E-Mail-Benachrichtigung -> Standard-Inhalte ich die folgenden:
Diese senden die E-Mail als html-Inhalt und nicht den text in html.
Gehen Sie zu "Verwalten-jenkins"->"system konfigurieren"
Als auf dem "Erweiterten E-mail-Benachrichtigung" die Einstellungen, setzen Sie die folgende Zeile in der "default-Inhalt" der text-Bereich
E-Mail-ext plugin funktioniert ziemlich gut für mich. Probieren Sie es aus.