繁体   English   中英

Jenkins 自由式工作:从评估的 Groovy 脚本调用电子邮件通知

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM