Notifications Jenkins-电子邮件通知

Notifications Jenkins-电子邮件通知,notifications,jenkins,Notifications,Jenkins,我正在尝试使用Groovy和email ext插件定制电子邮件。当我向这些电子邮件添加新功能时,我可能会在脚本中引入错误,从而收到包含StackTrace的坏邮件。因此,我希望能够发送已完成作业的通知,因为我的作业可能需要很多小时(目前超过4小时)。 有没有办法让jenkins发送完成作业的通知(使用Groovy或任何其他脚本语言)?找到解决方案: import java.text.simpleDataFormat; 导入java.util.GregorianCalendar; 导入groovy

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

找到解决方案:

import java.text.simpleDataFormat;
导入java.util.GregorianCalendar;
导入groovy.text.Template
导入groovy.text.SimpleTemplateEngine
导入javax.mail*
导入javax.mail.internet*
//--------------作业参数--------------
projectName=“YourProjectName”;
buildNum=10;
templateName=“groovy html cobertura.template”;
收件人=”someone@somewhere.com";
发送方=”jenkins@somewhere.com";
smtpHost=“mysmtphost”;
//------------结束作业参数-------------
例如(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){
printlnb;
b、 重新加载();
def绑定=[“构建”:b,
“项目”:b.getProject(),
“rooturl”:hudson.model.hudson.getInstance().getRootUrl(),
“it”:新的hudson.plugins.emailext.plugins.content.ScriptContentBuildWrapper(b),
“spc”:“]
def engine=新的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();
端口=25
props=新属性()
props.put('mail.smtp.host',smtpHost)
props.put('mail.smtp.port',port.toString())
session=session.getDefaultInstance(props,null)
//构建消息
msg=新MimeMessage(会话)
msg.from=新的Internet地址(发件人)
msg.sentDate=新日期()
msg.subject='模板测试'
msg.setRecipient(Message.RecipientType.TO,新Internet地址(收件人))
msg.setHeader('Organization','i-BP')
msg.setContent(邮件体,
‘text/html’)
//发送消息
传输发送(msg)
}
}
}
}

Email ext插件允许您根据构建结果使用不同的模板(带有jelly脚本)。如果构建失败、成功或在其他情况下,您可以将插件配置为发送不同的邮件。。。这不是你想要的吗?嗨,我已经配置了这些触发器,但我需要的是在链接到这些触发器的电子邮件中添加新功能,因此我希望能够在通过的作业上发送这些通知。你是指[email ext][1]插件中的触发器功能吗?[1]: