从作业日志中获取特定的字符串

时间:2019-06-05 12:52:08

标签: jenkins groovy

我需要一些帮助。我是Jenkins和Groovy的菜鸟。

如何从包含特定单词的日志中获取特定字符串并打印?

def log = Jenkins.getInstance().getItemByFullName
('deploy/my_deploy').getBuildByNumber(checkjob.getNumber()).log
        if (log.contains("Word")) {println log}

1 个答案:

答案 0 :(得分:0)

不确定Jenkins发回的“日志”类型,但是例如您可以尝试使用findAll方法,如下所示:

def log = [ "First line", "Second line", "End of log"]
println log.findAll { line -> line.contains("line") }

>>> [First line, Second line]

遍历字符串列表(日志),并在条件(line.containts(“ line”))为true的情况下接受其中的每一行