詹金斯系统groovy脚本

时间:2017-09-20 04:39:22

标签: jenkins groovy

我正在尝试使用这个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数组。请告知如何克服此错误。我只是想通过松弛列出失败

0 个答案:

没有答案