jenkins - 如何测试 Jenkins 插件是否安装在 Pipeline DSL (Groovy)

标签 jenkins groovy jenkins-plugins jenkins-pipeline

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

我想要的是这样的(在我的 Jenkinsfile 中):

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

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

在 Pipeline DSL 或另一个 Jenkins 类中是否有类似的东西?

最佳答案

在这里查看第二个答案 - How to get a list of installed jenkins plugins with name and version pair?

  1. create a groovy script for parsing (thanks to malenkiy_scot) Save the following as plugins.groovy:

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



创建一个接受插件名称和版本的函数,并通过上面的代码片段迭代生成的文件。

关于jenkins - 如何测试 Jenkins 插件是否安装在 Pipeline DSL (Groovy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43494302/

相关文章:

git - Jenkins Git 插件存储库 Url 变量

环境标签/正文中的 Jenkins 数组变量

json - 如何动态更新JSON中的键值?

shell - groovy 脚本 - 带变量的 sh

jenkins - 如何在 'Delete workspace before build starts' 部分中使用排除文件夹选项?

jenkins - 在声明性管道的并行阶段重用代理

node.js - Jenkins 与 Grunt 的集成

svn - 在每个 SVN 提交上运行 Sonar Runner 以分析传出的 SVN 文件

Jenkins Gerrit 触发器 - "/var/lib/jenkins/.ssh/id_rsa"不是有效的 key 文件

java - 为什么我需要编译才能使 Groovy 代码工作?