gpt4 book ai didi

notifications - Jenkins - 电子邮件通知

转载 作者:行者123 更新时间:2023-12-03 16:20:24 25 4
gpt4 key购买 nike

我正在尝试使用带有电子邮件分机插件的 Groovy 来自定义电子邮件。当我向这些电子邮件添加新功能时,我可能会在脚本中引入错误,因此会收到包含 StackTrace 的错误邮件。因此,我希望能够发送有关已完成作业的通知,因为我的作业可能需要很长时间(目前超过 4 小时)。
有没有办法让 jenkins 发送有关已完成作业的通知(使用 Groovy 或任何其他脚本语言)?

最佳答案

寻找解决方案:

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="someone@somewhere.com";
sender="jenkins@somewhere.com";
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)
}
}
}
}

关于notifications - Jenkins - 电子邮件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com