2012-02-24 13 views
6

Actualmente estoy usando BUILD_LOG_REGEX en Jenkins Información de correo electrónico editable para obtener un registro de los errores por correo electrónico. Pero recibo un montón de basura y quiero filtrar los errores y quiero que el registro de errores se filtre a la perfección. ¿Alguna ayuda?¿Cómo puedo filtrar solo los errores en Jenkins-email-ext, BUILD_LOG_REGEX?

+0

¿Hay alguna cadena común en las líneas de registro de errores para basar su regex? Si no, ¿puedes agregar uno? ¿Podría darnos un ejemplo, qué tipo de expresiones regulares está utilizando, qué tipo de líneas de registro deberían capturarse y qué tipo de líneas no? –

+0

Hola Juuso, ahora puedo filtrar un tipo de error. Pero quisiera filtrar más de un tipo de error. Por ejemplo, un registro de error podría tener el formato Error: (o) [Error] (o) Fallido: y así sucesivamente. ¿Cómo hago una o una condición en BUILD_LOG_REGEX? – user1048613

Respuesta

8

Su pregunta es bastante inespecífica. Como señala Juuso Ohtonen en un comentario, lo que haces altamente depende de lo que normalmente se puede encontrar en tu registro. Aquí está un ejemplo de lo que usamos en uno de nuestros puestos de trabajo, es bastante genérico (por no decir minimalista):

${BUILD_LOG_REGEX, regex="^.*?BUILD FAILED.*?$", linesBefore=0, linesAfter=10, maxMatches=5, showTruncatedLines=false, escapeHtml=true} 

Yo sugeriría lo siguiente: crear un trabajo que registra un texto que contiene tipos de errores se encuentra (puede simplemente arrojar algún archivo de texto que coloque en el espacio de trabajo del trabajo), luego juegue con los patrones de expresiones regulares Java - java.util.regex.Pattern - en el complemento hasta que obtenga el resultado deseado. Asegúrese de enviar los e-mails de trabajo sólo para sí mismo :)

Para utilizar HTML personalizado - he aquí un fragmento del contenido de referencia simbólico del Plugin:

${JELLY_SCRIPT, template} - Custom message content generated from a Jelly script 
    template. There are two templates provided: "html" and "text". Custom Jelly templates 
    should be placed in $JENKINS_HOME/email-templates. When using custom templates, the 
    template filename without ".jelly" should be used for the "template" argument. 
    template - the template name. Defaults to "html". 

La plantilla por defecto que se puede utilizar como su punto de partida se encuentra en

$JENKINS_HOME/plugins/email-ext/WEB-INF/classes/hudson/plugins/emailext/templates/html.jelly 
+0

Le doy algunos ejemplos de cómo se ven mis archivos de registro. Bueno, en este caso, sólo los registros de errores (diferentes tipos de registros de errores): de casos: 1 Error: la carpeta desajuste - compruebe los siguientes archivos: =============== =============================================== ============ eliminada: \ foo2.cs Eliminado: \ WorkflowsHighAvailabilityApp \ Application \ WorkflowsHighAvailabilityApp.cs caso: 2 – user1048613

+0

Mi condición es el siguiente: $ {BUILD_LOG_REGEX, regex =" Error: ", linesBefore = 0, linesAfter = 5, showTruncatedLines = false}. Esto filtra solo los registros con Error :, pero quiero filtrar el error que tiene muchos tipos como [Error]/Fallido:, etc. ¿Alguna sugerencia? – user1048613

+0

BUILD_LOG_REGEX utiliza las expresiones regulares 'java.util.regex.Pattern': http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html –

Cuestiones relacionadas