「JENKINS-PIPELINE」- Plugin

查看所有已安装的插件

Script Console

// def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
// plugins.each {println "${it.getShortName()}: ${it.getVersion()}"}

查看插件是否安装

#1 metaClass.getMetaMethod()

我们通过检查插件提供的 Step 是否存在来间接判断插件是否安装:
In groovy, is there a way to check if an object has a given method? – Stack Overflow

this.pipeline.metaClass.getMetaMethod("ansiColor")

# 10/22/2024 该方法无效。

#2 try catch Throwable

Jenkins cps groovy does not catch NoSuchMethodError exceptions – Stack Overflow

private Boolean assertPluginInstalled() {
    try {
        this.pipeline.ansiColor('')
        return true
    } catch (java.lang.Throwable e) {
        return false
    }
}