如何以编程方式设置Jenkins Email-ext插件的收件人?

时间:2013-09-03 21:26:41

标签: email jenkins-plugins

我正在尝试将Email-ext(又名Editable Email Notficiation)的收件人设置为失败测试的所有者。由于在构建失败之前无法计算所有者,因此无法使用Inject Environment Variables插件。

如何做到这一点?

2 个答案:

答案 0 :(得分:1)

Advanced...部分中,创建以下Pre-send Script

import javax.mail.Message
import javax.mail.internet.InternetAddress

msg.addRecipient(Message.RecipientType.TO, new InternetAddress('recipient@example.com'))

你还需要设置Project Recipient List(可能是一些虚拟值),因为如果它是空的,插件决定无所事事。

脚本在主服务器上运行,因此如果您需要处理其工作区,则需要从主服务器ssh到服务器。

答案 1 :(得分:0)

如果您需要从远程代理上的文件中读取收件人列表,请使用FilePath扩展以上答案:

import javax.mail.Message
import javax.mail.internet.InternetAddress

fp = new FilePath(build.workspace, build.workspace.toString() + "/recipients.txt")
emails = fp.readToString().split("\n")

for (email in emails) {
    msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email))
}