Jenkins作业,用于捕获来自下游作业的特定错误消息并重新触发它

wz8daaqr  于 2022-09-20  发布在  Jenkins
关注(0)|答案(1)|浏览(153)

我正在尝试重新触发下游作业,如果作业在第一次构建期间失败,并出现错误“INVALID JWT TOKEN”,我希望此作业再次使用更改的参数重新触发。

到目前为止,我可以用不同的参数重新触发它,但我想在这里实现的是,只有在我收到错误“无效的JWT令牌”时,才希望作业重新触发。

有没有人能帮我一下,我正在试着用Try-Catch块

这是目前的管道作业

q9yhzks0

q9yhzks01#

我假设您是通过查看第二个作业的日志来决定错误的。如果是这样的话,让我们看看下面的内容。这里我使用的是propagate: false

pipeline {
    agent any
    stages {
        stage('Job') {
            steps {
                script {
                    def jobBuild = build(job: 'SecondJob', wait: true,  propagate: false)
                    def result = jobBuild.getResult()
                    if(result == "FAILURE"){
                        def log = jobBuild.getRawBuild().getLog()
                        if(log.contains("invalid JWT token")){
                            echo "Rerunning the JOB!!!!"
                        } else {
                            error "Downstream Job failed due to other error." 
                        }
                    } 
                }
            }
        }
    }
}

相关问题