从Jenkins控制台输出中获取字符串值

moiiocjp  于 2022-11-01  发布在  Jenkins
关注(0)|答案(2)|浏览(223)

在Jenkins输出中,我遇到了以下Assert错误

但我需要从错误Assert或任何文本中获取字符串错误。
def matcher = manager.getLogMatcher('.*Delete organization Account failed: *')
但会产生以下错误:

因此,我只想检查日志是否包含特定的字符串,如果文本存在,则使构建失败currentBuild.result =“FAILED”,保存文本以通过松弛发送它

gdrx4gfi

gdrx4gfi1#

你可以把条件放在下面的方式:

if (manager.logContains('.*Delete organization Account failed:*')) {
          error("Build failed because of Delete organization Account..")    
                }
0lvr5msh

0lvr5msh2#

这就是它对我的作用:

import hudson.model.*

node {
    .....

    if (Slack.toBoolean() ) {

        def matcher = manager.getLogMatcher(".*Error.*")
        if(matcher.matches()) {
            pbn=matcher.group(0)
            println pbn
            slack_message = "`BUILD ERROR`: ${pbn} "
            println slack_message
            matcher = null // fix NotSerializableException
            slackSend(channel: "#reports", message: slack_message, color: '#172530');
        } 
    }   
}

相关问题