2016-03-04 12 views
7

Sto provando a usare il plugin email-ext in un lavoro di pipeline di Jenkins, ma la maggior parte dei token che dò per scontato quando uso email-ext in un lavoro freestyle non viene ampliata?Email-ext e Workflow/Pipeline: alcuni token non vengono espansi?

ad es.

node { 
    emailext body: '${DEFAULT_CONTENT}', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS' 
} 

Genera l'e-mail:

Oggetto:

$ PROJECT_NAME - Costruire # $ BUILD_NUMBER - $ BUILD_STATUS!

Corpo:

$ PROJECT_NAME - Costruire # $ BUILD_NUMBER - $ BUILD_STATUS: Controllare l'uscita della console a $ BUILD_URL per visualizzare i risultati.

Quali sono, per correttezza, ciò che è impostato nella configurazione generale. Tuttavia, nessuno di questi token viene espanso e, se li utilizzo direttamente dal flusso di lavoro, non vengono neanche espansi, ad es.

emailext body: '$PROJECT_NAME', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS' 

Questo sarebbe 'ok' se ero in grado di fare riferimento i miei modelli di posta elettronica basati su Groovy esistenti utilizzando $ SCRIPT, ma quelli non sono espanse neanche.

Mi scuso se mi manca qualcosa di incredibilmente ovvio - Non ho ancora molta esperienza con Pipeline - la mancanza di supporto email-ext mi ha impedito di andare oltre.

Oggi ho eseguito il test installando Jenkins 1.651, email-ext 2.41.3 e Pipeline 1.14.

+0

Hai risolto il problema? Potete fornire una risposta con un esempio? Lo sto chiedendo perché il plugin sembra privo di documentazione https://issues.jenkins-ci.org/browse/JENKINS-33980 – sorin

+0

@sorin: non ho alcun codice facilmente condivisibile, ma ho rinunciato ai template e ho appena implementato il mio codice helper/email builder nel plugin cps-global-lib, che ancora chiama in email-ext quando ho finito. Sforzo duplicato, ma ne avevo bisogno. –

risposta

3

I token sono molto legati a AbstractBuild, che il flusso di lavoro non utilizza. Quindi, i token non verranno sostituiti correttamente in questo momento. Ho bisogno di modificare il plugin token-macro (che è la base dell'espansione del token) in modo che funzioni con un oggetto Run invece che con AbstractBuild, ma questo è un compito di grandi dimensioni che non ho ancora avuto la modifica da fare . È possibile generare lo stesso contenuto utilizzando il flusso di lavoro DSL.

+2

Puoi indicarci un esempio funzionante? Stavo cercando di far funzionare il plugin email-ext all'interno delle pipeline, ma sembra impossibile trovare esempi utilizzabili. Controlla https://issues.jenkins-ci.org/browse/JENKINS-33980 – sorin

+0

Sto cercando anche gli esempi. Sembra che io abbia colpito un vicolo cieco – KeshV