2013-05-01 5 views
7

Używam Jenkins i e-mail-ext do wysyłania powiadomień o kompilacji. Build tworzy mały niestandardowy raport przechowywany jako prosty HTML w katalogu out. Teraz mogę łatwo dołączyć ten raport do wiadomości e-mail, ale chcę, aby ten raport był renderowany do treści wiadomości e-mail. Wiem, że mogę napisać własny szablon galaretki, ale wymaga to dostępu do serwera kompilacji (aby zainstalować skrypt galaretki), chcę tego również uniknąć. Więc moje pytania to:Jak dołączyć zawartość pliku html do szablonu serwera e-mail jenkins?

  1. Czy mogę dołączyć zawartość dowolnego pliku (wygenerowanego podczas kompilacji) do pola Treść wtyczki Email-Ext?
  2. Jeśli nie mogę, jaki jest najłatwiejszy sposób wysłania takiego raportu w Jenkins?
+0

możliwy duplikat [Wczytaj zawartość pliku HTML do Div \ [bez użycia iframe \]] (http://stackoverflow.com/questions/3535055/load-html-file-contents-to-div- bez użycia-z-iframes) – abc

Odpowiedz

14

Wygląda jak najbardziej proste sposobem jest użycie 'Pre-wysłać Script' z E-ext

skrypt wygląda tak:

def reportPath = build.getWorkspace().child("HealthTestResults.html") 
msg.setContent(reportPath.readToString(), "text/html"); 

To świadczy treść HealthTestResults.html znajduje się w katalogu głównym obszaru roboczego jako treść wiadomości.

+0

Czy istnieje sposób uruchomienia skryptu w build.getWorkspace()? Chciałbym przetworzyć pliki TEST * .xml. –

+0

@Noel Yap - Twoja najlepsza metoda przetwarzania plików XML na HTML to dodanie procesu XSL do twojej kompilacji. A następnie włącz wyjście jako wbudowany załącznik (patrz wyżej). – Ramon

+0

Ten kod działa dla mnie, ale teraz mój problem polega na tym, że istnieje jeden załącznik (określony w sekcji "Załączniki" wtyczki), którego brakuje –

0

próbuję go przy użyciu


def reportPath = build.getWorkspace().child("HealthTestResults.html") 
msg.setContent(reportPath.readToString(), "text/html"); 

Ale e-mail wysyłane jest tak:


Rama Alert Niniejszy dokument jest przeznaczony do oglądania za pomocą ramek cecha. Jeśli widzisz ten komunikat, używasz klienta WWW bez ramki.


Czy znasz przyczynę? Mike Chaliy

+1

To powinien być komentarz w zaakceptowanej odpowiedzi, a nie jako odpowiedź. – Xiao

4

Łatwy sposób aby dołączyć plik HTML do e-maila, aby dodać treść jest poniżej linii w domyślnej zawartości = $ {FILE, path = "yourfilename.html"}

to działa na mnie w jenkins email ext plugin

Powiązane problemy