J'essaie de personnaliser le courrier électronique en utilisant Groovy avec le plugin email-ext. Au fur et à mesure que j'ajoute de nouvelles fonctionnalités à ces emails, je peux introduire des erreurs dans les scripts et ainsi recevoir de mauvais mails contenant le StackTrace. Donc, j'aimerais être en mesure d'envoyer des notifications sur les travaux terminés que mes travaux peuvent prendre plusieurs heures (plus de 4 actuellement).
Existe-t-il un moyen de demander à jenkins d'envoyer des notifications sur les travaux terminés (en utilisant Groovy ou tout autre langage de script)?Jenkins - Notifications par courriel
3
A
Répondre
0
trouver une solution:
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import groovy.text.Template
import groovy.text.SimpleTemplateEngine
import javax.mail.*
import javax.mail.internet.*
//-------------- Job params --------------
projectName="YourProjectName";
buildNum = 10;
templateName="groovy-html-cobertura.template";
recipients="[email protected]";
sender="[email protected]";
smtpHost="mysmtphost";
//------------End Job params -------------
for (hudson.model.AbstractProject p : hudson.model.Hudson.instance.projects) {
if(p.name.equals(projectName)){
for (hudson.model.AbstractBuild b : p.getBuilds()) {
if(b.getNumber() == buildNum){
println b;
b.reload();
def binding = [ "build" : b,
"project" : b.getProject(),
"rooturl" : hudson.model.Hudson.getInstance().getRootUrl(),
"it" : new hudson.plugins.emailext.plugins.content.ScriptContentBuildWrapper(b),
"spc" : " " ]
def engine = new SimpleTemplateEngine()
java.io.File file = new java.io.File(hudson.model.Hudson.getInstance ().getRootPath().getBaseName()+"/email-templates/"+templateName);
mailBody = engine.createTemplate(file.getText()).make(binding).toString();
port = 25
props = new Properties()
props.put('mail.smtp.host', smtpHost)
props.put('mail.smtp.port', port.toString())
session = Session.getDefaultInstance(props, null)
// Construct the message
msg = new MimeMessage(session)
msg.from = new InternetAddress(sender)
msg.sentDate = new Date()
msg.subject = 'Template Test'
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients))
msg.setHeader('Organization', 'i-BP')
msg.setContent(mailBody,
'text/html')
// Send the message
Transport.send(msg)
}
}
}
}
Questions connexes
- 1. Planification des notifications par courriel
- 2. Notifications par courriel/Alertes Builds dans TFS 2010
- 3. Notifications automatiques par courriel basées sur la date dans django
- 4. Django commentaire notification par courriel
- 5. Can Jenkins peut-il envoyer plus d'un courriel?
- 6. ASP.NET Abonnement par courriel
- 7. Notification par courriel
- 8. cruisecontrol notification par courriel
- 9. Notification automatique par courriel
- 10. Répondre au message par courriel
- 11. Google Email notification par courriel
- 12. concernant le licenciement par courriel
- 13. Envoyer un fichier par courriel
- 14. Recevoir une notification par courriel (Exchange 2007)
- 15. Notifications par e-mail
- 16. confirmation par courriel sur FOSUserBundle Profil Modifier
- 17. validation par courriel en utilisant l'expression régulière
- 18. rapports par courriel à l'heure prévue
- 19. ASP.Net - Envoyer par courriel à image
- 20. Comment envoyer un formulaire Web par courriel
- 21. Validation par courriel personnalisé sur ASP.NET C#
- 22. répondre à la discussion par courriel
- 23. Demande par courriel? Référence dans FBML Docs
- 24. Notifications par e-mail par défaut
- 25. Notifications par e-mail TFS
- 26. Notifications automatiques par e-mail
- 27. OpenFeint Notifications par le bas
- 28. Ajout de rendez-vous à votre calendrier par notifications par e-mail
- 29. OMA Notification par courriel Problème de push WAP
- 30. Port Java de haschich par Jenkins
Le plugin Email-poste vous permet d'utiliser un des modèles différents (avec le script de la gelée) en fonction du résultat de la construction. Vous pouvez configurer le plugin pour envoyer un mail différent si la compilation échoue, si elle réussit et à d'autres occasions ... N'est-ce pas ce que vous cherchez? –
Salut, j'ai déjà configuré ces déclencheurs, mais mon besoin est d'ajouter de nouvelles fonctionnalités aux e-mails liés à ces déclencheurs et donc je voudrais être en mesure d'envoyer ces notifications sur les travaux passés. – Dominique
Voulez-vous dire la fonctionnalité de déclenchement dans le plugin [email-ext] [1]? [1]: http://stackoverflow.com/questions/8321649/gitweb-how-to-display-markdown-file-in-html-format-automatically-like-github –