我正在尝试使用这个groovy脚本,事实上它工作正常。我可以看到jenkins控制台输出的输出。问题是我无法通过失败的作业列表发送松弛通知。
activeJobs = hudson.model.Hudson.instance.items.findAll{job -> job.isBuildable()}
failedRuns = activeJobs.findAll{job -> job.lastBuild != null && job.lastBuild.result == hudson.model.Result.FAILURE}
failedRuns.each{run -> println(run.name)}
输出采用以下格式:
ProjectA
ProjectB
ProjectC
Result: [hudson.model.FreeStyleProject@1f39c59[ProjectA], hudson.model.FreeStyleProject@16a93b8[ProjectB], hudson.model.FreeStyleProject@12947ee[ProjectC]]
当我将上述输出传递给松弛有效载荷时,
def notifySlack(text, channel) {
def slackURL = 'https://hooks.slack.com/services/xxxxxxx/yyyyyyyy/zzzzzzzzzz'
def payload = JsonOutput.toJson([text : text,
channel : channel,
username : "jenkins",
icon_emoji: ":jenkins:"])
sh "curl -X POST --data-urlencode \'payload=${payload}\' ${slackURL}"
}
收到此错误:
java.lang.StackOverflowError的
我不熟悉groovy语法&功能。上面的输出似乎是一个2d数组。请告知如何克服此错误。我只是想通过松弛列出失败