我是Groovy的新手,正在尝试在Jenkins中建立一个postbuild,它使我可以对字符串进行计数,并确定在最后返回多少计数后,构建是否成功。
这是我的示例代码:
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
返回整个文件文本为String。
您需要的是readLines()
:
def list = manager.build.logFile.readLines()
def JobCount = list.count {it.startsWith("====") && it.contains("COMPLETE")}
并且当然如下所述,Jenkins Groovy Postbuild插件运行Groovy脚本,因此您将摆脱封闭的类声明(Main
)
问题内容: 我正在使用Jenkins日志解析器插件来提取并显示构建日志。规则文件如下所示: 一切正常,但由于某些原因,在“解析的输出控制台”的末尾,我看到此消息, 我敢肯定,这是一个小问题,但目前无法解决。请帮忙 :) 编辑: 基于Kobi的答案,并查看了“解析规则文件”,我以这种方式(在冒号后的单个空格)对其进行了修复。这完全按预期工作。 问题答案: 该日志分析器插件不支持您的模式空间。 在其源
问题内容: 在Java中执行以下操作的最佳方法是什么。我有两个输入字符串 我需要从字符串中提取类型和数字。 在这种情况下,答案是type =“ a good”和number =“ 234” 谢谢 问题答案: 您可以使用正则表达式:
我有一个输入表单,允许某人键入unicode字符。所以它可能是类似于“嘿,uF32A怎么了?如果我得到这个字符串,它将有一个子字符串“\uF32A”,我如何将其转换为字符“\uF32A”?
问题内容: 我很难解析/格式化从Web服务接收回的Date字符串。我尝试了多种方法,但是没有运气。 样本日期字符串: 例外: 样例代码: 我发现,如果删除日期和时间之间的“ T”并将其替换为空格,则格式正确。有人有什么建议吗? -更新- 在深入研究API文档之后,我发现了这一点: 所有响应DateTime值均采用UTC格式。 您需要应用UTC偏移量来计算本地显示时间。 DateTime是以下列格式
我试图遍历每个数字索引,并过滤所述索引中excepted_words的任何实例。这个程序的输出似乎几乎没有修改,如果有的话。我该怎么解决这个问题? 输出:
问题内容: 我正在尝试使用JDK java.net.URI构建URI 。 我想附加一个绝对URI对象,一个查询(在String中)。例如: 理论(或我的想法)是决心应该返回: 但是我得到的是: 为什么#resolve() “吃掉”最后一条路?如果新的URI()构建为: 效果很好。 问题答案: 我想回应一下自己。Javadoc确实可以正确解释。如URI#resolve()所述,在第3.b节中: 否则