jenkinsfile - 检查方法是否已定义

时间:2021-02-15 09:11:33

标签: groovy jenkins-pipeline dsl

我仅在函数存在时才尝试执行阶段:

if (binding.variables.containsKey(functionName)){
    stage ("execute") {
      script{
        "${functionName}"(config)
      }
    }
  }

问题是 binding.variables 只返回变量(我应该猜到了)。有没有办法检查一个函数是否被定义?

1 个答案:

答案 0 :(得分:1)

MethodNotFound 是异常层次结构中的已检查异常,很难在带有 try..catch 块的 groovy 或 Java 流中捕获,因此很难实现您的目标

enter image description here

如果方法或 DSL 未在 Jenkins 中定义,Jenkins 将在解析脚本化或声明性管道时通过异常 - 在这种情况下,我认为您永远无法捕获它

相关问题