jenkinsfile - 检查方法是否定义

jenkinsfile - check if method is defined

我试图仅在函数存在时才执行一个阶段:

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

问题是binding.variables return只有变量(我应该猜到)。有没有办法检查函数是否已定义?

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

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