2017-04-19 33 views
5

我想对我的Jenkins管道进行飞行前检查,测试某个插件是否已安装。我发现这篇文章Check a plugin exists within a Jenkins Pipeline (Groovy)提出了同样的问题,但提供的答案对我来说不可用,因为他们测试的是插件提供的DSL方法是否可用,以及插件是否可用。如何测试是否在管道DSL(Groovy)中安装了Jenkins插件

我想什么有是这样的(在我的Jenkinsfile):

pluginAvailable('plugin-name', '0.0.1') 

其中0.0.1可能是(可选)最低版本。

Pipeline DSL或其他Jenkins类中是否有类似的东西?

回答

1

退房这里的第二个答案 - How to get a list of installed jenkins plugins with name and version pair?

  • 创建一个Groovy脚本解析(感谢malenkiy_scot) 以下内容作为plugins.groovy:
  • def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins() plugins.each {println "${it.getShortName()}: ${it.getVersion()}"}

    创建功能接受插件名称和版本,并通过上面的代码片段遍历生成的文件。

    +0

    在我的** Jenkinsfile用'org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException把这个**导致失败:脚本不得使用STATICMETHOD jenkins.model.Jenkins getInstance' – vossad01

    +1

    @ vossad01-可以批准该来自Manage Jenkins的脚本。应该有一个选项用于脚本批准。 –

    +0

    对我来说工作正常 - 对不起在这么长的时间内没有回到你身上...但今天我需要它,并... TADAAA - 它工作:) –