2011-10-14 9 views
31

Esiste un modo per importare il log delle modifiche generato da Jenkins sull'oggetto di un'email (tramite l'e-mail predefinita o lo email-ext plugin)?Come includere git changelog nelle e-mail di Jenkins?

Sono nuovo nella configurazione di Jenkins, quindi mi scuso se questo è un problema semplice, ma non sono riuscito a trovare nulla nella documentazione di email-ext.

+0

ha u ottenere qualche soluzione? –

risposta

54

ho configurato il mio plug-in e-mail-ext per utilizzare i cambiamenti Token (official documentation here):

Changes: 
${CHANGES, showPaths=true, format="%a: %r %p \n--\"%m\"", pathFormat="\n\t- %p"} 

che stampa la seguente nei miei notifiche sulle build:

Changes: 
Username: 123 
    - Project/Filename1.m 
    - Project/Filename2.m 
    -- "My log message" 

per i messaggi HTML, ho inserito lo stesso codice all'interno di un div e formattazione aggiunta:

<div style="padding-left: 30px; padding-bottom: 15px;"> 
${CHANGES, showPaths=true, format="<div><b>%a</b>: %r %p </div><div style=\"padding-left:30px;\"> &#8212; &#8220;<em>%m</em>&#8221;</div>", pathFormat="</div><div style=\"padding-left:30px;\">%p"} 
</div> 

Ecco un campionamento Le screenshot di come appare nelle e-mail inviate da Jenkins ora (questo particolare commit è venuto da Subversion, ma funziona esattamente lo stesso per Git e di altri sistemi di controllo versione):

Change list for Jenkins

+2

Come sapevi farlo? Ho guardato quella pagina di documentazione ufficiale, e non vedo: 1) la lista dei token utilizzabili e come usarli, 2) dove metterli ("Contenuto predefinito" nella pagina "Configura sistema" di Jenkins?). – dfrankow

+0

Sembra che ogni classe Java in https://github.com/hudson-plugins/email-ext-plugin/tree/master/src/main/java/hudson/plugins/emailext/plugins/content sia un token. – dfrankow

+0

Inoltre, facendo clic sul? alla destra di "Riferimento token di contesto" sotto "Contenuto predefinito" vengono fornite le descrizioni. – dfrankow

14

Da originale documentazione: Per visualizzare un elenco di tutti i token e-mail disponibili e di ciò che viene visualizzato, è possibile fare clic su "?" (punto interrogativo) associato al riferimento del token del contenuto nella parte inferiore della sezione email-ext nella schermata di configurazione del progetto.

Ecco risultato:

${CHANGES} 
Displays the changes since the last build. 

showDependencies 
    If true, changes to projects this build depends on are shown. Defaults to false 
showPaths 
    If true, the paths, modifued by a commit are shown. Defaults to false 
format 
    For each commit listed, a string containing %X, where %x is one of: 

    %a 
     author 
    %d 
     date 
    %m 
     message 
    %p 
     path 
    %r 
     revision 

    Not all revision systems support %d and %r. If specified showPaths argument is ignored. Defaults to "[%a] %m\\n" 
pathFormat 
    A string containing %p to indicate how to print paths. Defaults to "\\t%p\\n" 
0

Non in oggetto di una e-mail anche se è possibile inviare il registro delle modifiche al destinatario come allegato in una e-mail utilizzando Git Changelog Plugin come l'azione posta costruire in Jenkins lavoro. Selezionare Create a file casella di controllo, dare un nome a un file (CHANGELOG.md per me), come immagine di seguito in:

enter image description here

Assicurarsi di aver configurato codice sorgente Gestione come GIT Jenkins JOB.

Quindi creare Editable Email Notification dopo l'azione di costruzione e copiare il nome del file di registro delle modifiche git come il valore della Attachments, come immagine di seguito in:

enter image description here