2016-03-04 7 views
7

Ich versuche, das E-Mail-Ext-Plugin in einem Jenkins-Pipeline-Job zu verwenden, aber die meisten Token, die ich bei der Verwendung von E-Mail-ext in einem Freestyle-Job als selbstverständlich erachte, werden nicht erweitert?Email-ext und Workflow/Pipeline - einige Token werden nicht erweitert?

z.B.

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

Generiert die E-Mail:

Betreff:

$ PROJECT_NAME - Bauen # $ BUILD_NUMBER - $ BUILD_STATUS!

Körper:

$ PROJECT_NAME - # $ BUILD_NUMBER Bauen - $ BUILD_STATUS: Konsolenausgabe bei $ BUILD_URL Überprüfen Sie die Ergebnisse anzuzeigen.

Was sind in Fairness, was ist in der allgemeinen Konfiguration festgelegt. Keiner dieser Token wird jedoch erweitert, und wenn ich sie direkt aus dem Workflow verwende, werden sie auch nicht erweitert, z.

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

Dies wäre ‚okay‘, wenn ich meine vorhandenen Groovy-basierten E-Mail-Vorlagen mit $ SCRIPT, aber die sind nicht erweitert Referenz entweder kann.

Entschuldigung, wenn mir etwas unglaublich offensichtlich fehlt - ich habe noch nicht viel Erfahrung mit Pipeline - der Mangel an E-Mail-ext-Unterstützung hat mich davon abgehalten, bis jetzt über zu bewegen.

Ich testete heute durch saubere Installation Jenkins 1.651, E-Mail-ext 2.41.3 und Pipeline 1.14.

+0

Haben Sie es aussortiert? Können Sie bitte eine Antwort mit einem Beispiel geben? Ich frage das, weil das Plugin scheint Dokumentation fehlt https://issues.jenkins-ci.org/browse/JENKINS-33980 – sorin

+0

@sorin: Ich habe keine leicht zu teilen Code, aber ich gab auf die Vorlagen und habe gerade meinen eigenen Helfer/E-Mail-Builder-Code im cps-global-lib-Plugin implementiert, der immer noch in E-Mail-ext aufruft, wenn ich fertig bin. Doppelter Aufwand, aber ich brauchte es. –

Antwort

3

Die Token sind stark an AbstractBuild gebunden, den der Workflow nicht verwendet. Also werden die Token im Moment nicht korrekt ersetzt. Ich muss das Token-Makro-Plugin (das die Grundlage für die Token-Erweiterung ist) so ändern, dass es mit einem Run-Objekt statt nur mit AbstractBuild funktioniert, aber dies ist eine große Aufgabe, für die ich noch keine Änderung hatte . Sie können den gleichen Inhalt mit dem Workflow-DSL generieren.

+2

Können Sie uns auf ein funktionierendes Beispiel hinweisen? Ich habe versucht, das email-ext Plugin so zu machen, dass es in Pipelines funktioniert, aber es scheint, dass es unmöglich ist, brauchbare Beispiele zu finden. Überprüfen Sie https://issues.jenkins-ci.org/browse/JENKINS-33980 – sorin

+0

Ich suche nach den Beispielen auch. Es scheint, als wäre ich in eine Sackgasse geraten – KeshV

Verwandte Themen