2011-10-14 20 views
31

¿Hay alguna forma de importar el registro de cambios generado por Jenkins al asunto de un correo electrónico (ya sea a través del correo electrónico predeterminado o email-ext plugin)?¿Cómo incluir git changelog en los correos electrónicos de Jenkins?

Soy nuevo en la configuración de Jenkins, por lo que me disculpo si esto es un problema simple, pero no pude encontrar nada en la documentación de correo electrónico ext.

+0

Did u obtener alguna solución? –

Respuesta

54

Me configurado mi correo-ext plug-in para utilizar los cambios de emergencia (official documentation here):

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

que imprime el siguiente en mis avisos de actualizaciones:

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

Para los mensajes HTML, I colocado el mismo código dentro de un div y formato agregado:

<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> 

Aquí hay una muestra Le captura de pantalla de cómo se ve en los correos electrónicos enviados por Jenkins ahora (esta confirmación en concreto vino de la subversión, pero funciona exactamente igual para Git y otros sistemas de control de versiones):

Change list for Jenkins

+2

¿Cómo supiste hacer esto? He revisado esa página de documentación oficial, y no veo: 1) la lista de tokens utilizables y cómo usarlos, 2) dónde colocarlos ("Contenido predeterminado" en la página "Configurar sistema" de Jenkins?) – dfrankow

+0

Parece que cada clase de Java en https://github.com/hudson-plugins/email-ext-plugin/tree/master/src/main/java/hudson/plugins/emailext/plugins/content es un token. – dfrankow

+0

También, haciendo clic en? a la derecha de "Referencia de token de contexto" debajo de "Contenido predeterminado" se muestran las descripciones. – dfrankow

14

De originales documentación: Para ver una lista de todos los tokens de correo electrónico disponibles y lo que muestran, puede hacer clic en "?" (signo de interrogación) asociado con la Referencia del token de contenido en la parte inferior de la sección de extensión de correo electrónico en la pantalla de configuración del proyecto.

Aquí es resultado:

${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

No en el tema de un correo electrónico, aunque se puede enviar el registro de cambios al destinatario como un archivo adjunto en un correo usando Git Changelog Plugin como acción posterior a la construcción en Jenkins de empleo. Seleccionar Create a file casilla de verificación, dar un nombre a un archivo (CHANGELOG.md para mí), como en la imagen de abajo:

enter image description here

Asegúrese de que ha configurado Fuente Gestión Código como GIT en Jenkins TRABAJO.

A continuación, cree Editable Email Notification Acción de generación de correos y copiar el nombre del archivo de registro de cambios git como el valor de Attachments, como en la imagen de abajo:

enter image description here

Cuestiones relacionadas