首页 > 解决方案 > jenkinsfile - 检查方法是否已定义

问题描述

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

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

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

标签: groovyjenkins-pipelinedsl

解决方案


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

在此处输入图像描述

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


推荐阅读