2014-04-10 19 views
5

Sono bloccato in un punto in cui eseguo uno script perl tramite jenkins e voglio inviare una notifica via email condizionale.Notifica via email in jenkins basata su un'uscita di script

Per esempio .. se alla fine dello script il valore di una certa variabile è> 1 quindi inviare la notifica e-mail altro non trasmettiamo la

Qualcuno può aiutarmi con questo? o conosce un modo migliore per farlo?

risposta

4

non ho niente di tutto questo, però:

C'è un Any Build Step plugin. Tra le altre cose, consente di eseguire azioni post-build come gradini di costruzione. In teoria, questo dovrebbe consentire di eseguire il passaggio post-compilazione "Notifica Email modificabile" come passo di costruzione. Questo è il jolly più grande in questa soluzione. Prova prima questo. Non so se la notifica e-mail funzionerà correttamente quando viene eseguita prima che il "ciclo di compilazione" di Jenkins di un lavoro sia completo.

Successivamente, c'è il plug-in Conditional Build Step. Ti consente di eseguire una fase di creazione in base a varie condizioni.

Se si è in grado di attivare l'e-mail nel mezzo del ciclo di build con il plug-in "Any Build Step", si dovrebbe essere in grado di eseguire il wrapping con il plug "Conditional Build Step" da eseguire condizionatamente.

Fatemi sapere se questo funziona davvero

5

Questo può essere risolto utilizzando

Email-ext plug-in https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin

Ed è possibile utilizzare il link qui sopra per visualizzare le informazioni riguardo il plugin

  1. se sono co rrect si desidera inviare mail in base al risultato della condizione di costruzione.
  2. è possibile utilizzare i trigger per questo in notifica e-mail modificabile.
  3. è possibile utilizzare posta passaggio di generazione e di controllare la validità della costruzione di passaggi per attivare messaggi di posta elettronica in base alle condizioni di
  4. è necessario scrivere uno script per il vostro requisito e metterlo in post & pre costruire passaggi.
+0

questo ha funzionato per me! – Aliza

0

Avevo una condizione simile in cui ho bisogno di inviare una e-mail quando il log di costruzione jenkins ha una stringa. Ecco come ho gestito il copione presuntivo del lavoro di Jenkins.

logger.println(build.getLog(50)) 
if (build.getLog(50).contains("NoChangesPresent")) { 
    cancel = true; 
} 

io sto cercando di ottenere le ultime 50 righe di log di compilazione e di ricerca attraverso di essa per vedere se c'è una stringa presente. Se è presente, allora sto impostando cancel su true che fermerebbe l'attivazione dell'email da jenkins.

Spero che questo aiuti.

Problemi correlati