[英]Jenkins Freestyle Job : Invoke email notification from Evaluated Groovy script
我正在使用 Groovy 脚本从 Jenkins 自由式作业中获取有关离线奴隶列表的电子邮件。 我在Jenkins freestyle Job > Build Environment > Evaluated Groovy script下有以下代码:
import hudson.model.Node
import hudson.model.Slave
import jenkins.model.Jenkins
String[] slaves = []
Jenkins jenkins = Jenkins.instance
for (Node node in jenkins.nodes) {
if (!node.toComputer().online) {
slaves += node.name
}
}
println "[OFFLINE SLAVES]: "+slaves
try{
emailext body: "${slaves}",
subject: "test subject",
to: "abc@xyz.com"
}
catch (Throwable t) {
println(t)
throw t;
}
从列表打印正常,但在调用 emailext 时,返回以下错误:
groovy.lang.MissingMethodException:无方法签名:Script1.emailext() 适用于参数类型:(java.util.LinkedHashMap) 值:[[body:${slaves}, to:abc@xyz.com, subject: test subject]] 08:17:48 [EnvInject] - [ERROR] - 注入构建包装器中定义的环境变量时出现问题:org.jenkinsci.lib.envinject.EnvInjectException:无法评估脚本。
我对此很陌生,希望能得到一些关于使这项工作的指导。 提前致谢。
像这样尝试:
try {
emailext (
subject: "test subject",
to: "abc@xyz.com",
body: "Offline Slaves : '${slaves}'"
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.