6

Attualmente sto usando BUILD_LOG_REGEX in Jenkins Informazioni email modificabili per ottenere un registro degli errori via email. Ma ho un sacco di spazzatura e voglio filtrare gli errori e voglio che il log degli errori sia filtrato alla perfezione. Qualsiasi aiuto?Come faccio a filtrare solo gli errori in Jenkins-email-ext, BUILD_LOG_REGEX?

+0

C'è qualche stringa comune nelle righe del log degli errori per basare la regex su? In caso contrario, puoi aggiungerne uno? Potresti fornire un esempio, quale tipo di regex stai usando, quale tipo di linee di log dovrebbero essere catturate e quale tipo no? –

+0

Hey Juuso, sono in grado di filtrare un tipo di errore ora. Ma vorrei filtrare più di un tipo di errore. Ad esempio, un registro errori potrebbe essere del formato Errore: (o) [Errore] (o) Non riuscito: e così via e così via. Come faccio a creare o una condizione nel BUILD_LOG_REGEX? – user1048613

risposta

8

La tua domanda è piuttosto non specifica. Come fa notare Juuso Ohtonen in un commento, ciò che si fa altamente dipende da cosa si può trovare di solito nel registro. Ecco un esempio di quello che usiamo in uno dei nostri posti di lavoro, è piuttosto generico (per non dire minimalista):

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

vorrei suggerire quanto segue: creare un processo che registra un testo che contiene i tipi di errori si incontra (si può semplicemente rilasciare qualche file di testo che si inserisce nell'area di lavoro del lavoro), quindi giocare con i modelli regolari di Java - java.util.regex.Pattern - nel Plugin fino a ottenere il risultato desiderato. Assicurarsi di inviare le e-mail dal lavoro solo a te stesso :)

Per utilizzare HTML personalizzato - ecco una citazione da contenuti di riferimento simbolici 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". 

Il modello predefinito che è possibile utilizzare come il punto di partenza si trova in

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

Ti sto dando alcuni esempi di come sono i miei file di registro. Beh, in questo caso, solo i log degli errori (diversi tipi di log di errore): Cassa: 1 Errore: cartella disadattamento - si prega di controllare i seguenti file: =============== ================================================== ============ rimossi: \ foo2.cs Rimosso: \ WorkflowsHighAvailabilityApp \ Application \ WorkflowsHighAvailabilityApp.cs caso: 2 – user1048613

+0

la mia condizione è simile al seguente: $ {BUILD_LOG_REGEX, regex =" Errore: ", linesBefore = 0, linesAfter = 5, showTruncatedLines = false}. Questo filtra solo i registri con Errore :, ma voglio filtrare un errore che ha molti tipi come [Errore]/Non riuscito:, ecc. Qualche suggerimento? – user1048613

+0

BUILD_LOG_REGEX utilizza le espressioni regolari 'java.util.regex.Pattern': http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html –

Problemi correlati