如何将自定义Groovy添加到步骤或条件步骤?

如何将自定义Groovy添加到步骤或条件步骤?,groovy,jenkins-job-dsl,jenkins-groovy,Groovy,Jenkins Job Dsl,Jenkins Groovy,使用作业dsl,我可以使用自定义bash代码执行Shell脚本,并使过程结果影响Jenkins作业的状态(失败、成功等): steps { shell('./smoketest.sh') } 如果我想使用定制Groovy来进行smoketest,而不是依赖shell脚本,该怎么办?我尝试编写一个简单的Groovy函数来返回0或-1来表示成功和失败,但它不起作用。如何在一个步骤中执行任意Groovy代码?使用groovyCommand或groovyScriptFile步骤作为构建步骤

使用作业dsl,我可以使用自定义bash代码执行Shell脚本,并使过程结果影响Jenkins作业的状态(失败、成功等):

 steps {
    shell('./smoketest.sh')
 }

如果我想使用定制Groovy来进行smoketest,而不是依赖shell脚本,该怎么办?我尝试编写一个简单的Groovy函数来返回0或-1来表示成功和失败,但它不起作用。如何在一个步骤中执行任意Groovy代码?

使用
groovyCommand
groovyScriptFile
步骤作为构建步骤执行任何Groovy代码。这些步骤由提供。有关详细信息,请参阅插件文档

@NonCPS
def myFunction(x) {
    if(x)return true
    return false
}

node{
    if(myFunction('')){
        echo 'OK'
    }else{
        error 'error message'
    }
}
有关DSL语法的详细信息,请参阅作业DSL API查看器:

例如:

job('example') {
  steps {
    groovyCommand('println "Hello"') {
      groovyInstallation('groovy-2.4.2')
    }
  }
}
请注意,Groovy脚本将在构建代理上运行。因此,它需要Java和Groovy安装

如果要在Jenkins master上运行脚本(不推荐,这是一个瓶颈),请使用
systemGroovyCommand
SystemGroovyScript文件
步骤