2013-05-22 4 views
9

Stavo cercando di risolvere questo problema, cercando forum ecc. E provando per me stesso, senza successo.Come inviare una e-mail da Jenkins solo in una versione?

Abbiamo un lavoro Jenkins e là si usa il rilascio Plugin (con una configurazione standard)

release plugin config

nel lavoro, allora abbiamo la "Perform Maven Release" nel lato sinistro per generare una versione (tag, cambiare poms, ecc.) Questo lavoro è perfetto.

Release button on the left side

vogliamo inviare una e-mail al team quando il rilascio è stato fatto.

ho provato la variabile d'ambiente che la versione plug-set (IS_M2RELEASEBUILD per impostazione predefinita) e si combinano con il plugin di posta elettronica-ext plug dove posso collegare uno script Groovy (avanzato => grilletto => trigger di script)

trigger with the email ext plugin

e ho provato un sacco di script per attivare la posta elettronica, e nessuno funziona, la mia ultima possibilità era:

def env = System.getenv() 
env['IS_M2RELEASEBUILD'] == 'true' 

ma quando eseguo il rilascio siamo non hai inviato l'e-mail (quindi questo script valuta il condizionale a falso o altro)

Chiunque ha questa configurazione nel suo Jenkins?

Grazie mille!

risposta

2

https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

Questo plugin permette di configurare ogni aspetto del notifiche e-mail. È possibile personalizzare quando viene inviata una e-mail, chi deve riceverla e cosa dice l'e-mail.

+0

Grazie. Sto usando questo plugin e usando il codice groovy che ho scritto sopra per "sparare" l'email. Il problema è che non conosco il codice esatto per il plug-in di posta elettronica per connettersi con l'azione di rilascio. –

2

Questa non è una risposta, solo un suggerimento (non posso aggiungere commenti). Hai provato a echeggiare quella variabile di ambiente in una fase post-build e pre-build?

1

Si è provato a eseguire un'altra generazione quando la generazione del rilascio è stata completata correttamente e il lavoro è stato inviato all'e-mail, magari eseguendo uno script di shell.

6

è necessario utilizzare "Notifica e-mail modificabile" come "azione post-generazione" e incollare

def env = build.getEnvironment(); 
String isRelease = env['IS_M2RELEASEBUILD']; 
logger.println "IS_M2RELEASEBUILD="+isRelease; 
if (isRelease == null || isRelease.equals('false')) { 
    logger.println "cancel=true;"; 
    cancel=true; 
} 

come pre-inviare Script, inserire il tuo e-mail (s) in "Progetto Elenco destinatari" e aggiungi un "Successo" - Trigger. (condizione preliminare è che non è stata modificata la "variabile di rilascio di versione" predefinita in "build di rilascio di Maven")

+0

E ... SÌ! Funziona! Ho provato un sacco di script e configurazioni, non so perché fallisco, ma in realtà il tuo script funziona ora. –

Problemi correlati