gpt4 book ai didi

java - Jenkins 中的 Groovy Postbuild,解析日志中的字符串并计算它们

转载 作者:行者123 更新时间:2023-11-30 06:13:11 29 4
gpt4 key购买 nike

我是 Groovy 的新手,我正在尝试在 Jenkins 中设置一个后期构建,它允许我对字符串进行计数,并通过最后返回的计数来确定构建是否成功。

这是我的示例代码:

class Main {

def manager = binding.getVariable("manager")
def log = manager.build.logFile.text
def list = log
def JobCount = list.count {it.startsWith("====") && it.contains("COMPLETE")}
if (JobCount == 7) {
manager.listener.logger.println("All Jobs Completed Successfully")
} else {
manager.addWarningBadge("Not All Jobs Have Completed Successfully")
manager.buildUnstable()
}
}

我正在寻找在测试成功完成时打印到控制台的特定字符串。字符串是“====JOB COMPLETE====”,如果所有 7 个测试都正确通过,我应该有这个字符串的 7 个实例。

当前,当我运行这段代码时,出现以下错误:

Script1.groovy: 6: unexpected token: if @ line 6, column 5.
if (JobCount == 7)
^

任何帮助将不胜感激

最佳答案

manager.build.logFile.text 将整个文件文本作为字符串返回。

你需要的是readLines():

def list = manager.build.logFile.readLines()
def JobCount = list.count {it.startsWith("====") && it.contains("COMPLETE")}

当然如下所述,Jenkins Groovy Postbuild 插件运行 Groovy 脚本,因此您将摆脱封闭的类声明 (Main)

关于java - Jenkins 中的 Groovy Postbuild,解析日志中的字符串并计算它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32082205/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com