2017-04-19 63 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 - 它工作:) –