1. 概述

Jenkins 拥有强大的插件管理系统,支持开发者扩展其功能。插件几乎影响了 Jenkins 的所有行为。例如,Build Timeout 插件 可在构建超时时自动终止构建,而 Mailer 插件 则用于配置构建结果的邮件通知。

在本文中,我们将介绍如何列出 Jenkins 中已安装的插件。我们会通过以下方式实现:

  • 使用 Jenkins Web UI 查看插件列表
  • 使用 Jenkins Script Console 执行 Groovy 脚本
  • 使用 Jenkins CLI 命令行工具

我们使用的是 Jenkins 2.452.3 版本,Jenkins 服务运行在 localhost:8080。需要拥有 Jenkins 管理权限才能查看插件列表。

2. 使用 Jenkins 管理界面

最直观的方法是通过 Jenkins 的 Web 界面查看已安装插件。

  1. 登录 Jenkins 控制台
  2. 点击左侧菜单的 Manage Jenkins
  3. 进入 Manage Plugins
  4. 切换到 Installed 标签页,即可看到所有已安装插件

JenkinsInstalledPluginsWebUI I

如图所示,插件列表中顶部的 Ant Plugin 版本为 497.v94e7d9fffa_b_9

也可以直接访问如下地址查看插件列表:

http://localhost:8080/manage/pluginManager/installed

3. 使用 Jenkins Script Console

Jenkins 提供了一个内置的 Groovy 脚本执行环境,称为 Script Console。我们可以通过它运行脚本列出插件。

3.1 打开 Script Console

  1. 进入 Manage Jenkins
  2. 点击 Script Console

或者直接访问:

http://localhost:8080/manage/script

3.2 执行 Groovy 脚本

在 Script Console 中输入以下 Groovy 脚本并点击 Run

def plugins = Jenkins.instance.pluginManager.plugins
plugins.each { plugin ->
    println "${plugin.getShortName()} – ${plugin.getVersion()}"
}

JenkinsScriptConsoleListingPlugins I

脚本说明:

  • Jenkins.instance.pluginManager.plugins 获取插件列表
  • 使用 each 遍历插件
  • getShortName() 获取插件简称,getVersion() 获取版本号

输出结果示例:

ant – 497.v94e7d9fffa_b_9
antisamy-markup-formatter – 162.v0e6ec0fcfcf6
...

4. 使用 Jenkins CLI

Jenkins 提供了命令行工具(CLI),可以通过脚本或终端与 Jenkins 交互。我们可以通过 CLI 的 list-pluginsgroovy 命令来列出插件。

4.1 下载 Jenkins CLI 客户端

  1. 进入 Manage Jenkins
  2. 点击 Jenkins CLI
  3. 下载 jenkins-cli.jar

或者直接访问:

http://localhost:8080/jenkins/cli

4.2 使用 list-plugins 命令

运行以下命令:

java -jar jenkins-cli.jar -s http://localhost:8080 -auth admin:admin_secret_password list-plugins

输出示例:

ant                                Ant Plugin                                  497.v94e7d9fffa_b_9
antisamy-markup-formatter          OWASP Markup Formatter Plugin               162.v0e6ec0fcfcf6
...

参数说明:

  • -s:指定 Jenkins 地址
  • -auth:指定用户名和密码(格式为 user:password
  • list-plugins:CLI 内置命令,用于列出插件

输出格式包含三列:

  • 插件短名称
  • 插件全称
  • 插件版本

4.3 使用 groovy 命令执行脚本

也可以通过 CLI 执行 Groovy 脚本来列出插件。

创建脚本 list_installed_plugins.groovy

import jenkins.model.*

def plugins = Jenkins.instance.pluginManager.plugins
plugins.each { plugin ->
    println "${plugin.getShortName()} - ${plugin.getVersion()}"
}

执行命令:

java -jar jenkins-cli.jar -s http://localhost:8080 -auth admin:admin_secret_password groovy = < list_installed_plugins.groovy

输出示例:

ant - 497.v94e7d9fffa_b_9
antisamy-markup-formatter - 162.v0e6ec0fcfcf6
...

⚠️ 注意:

  • groovy = < 的写法表示从标准输入读取脚本内容
  • 如果脚本中没有 import jenkins.model.*,会报错找不到 Jenkins 类

5. 小结

本文介绍了三种列出 Jenkins 已安装插件的方法:

Jenkins 管理界面:最直观,适合日常查看
Script Console:适合需要动态查询或调试插件时使用
Jenkins CLI:适合自动化脚本、远程管理 Jenkins

每种方法都有其适用场景,可以根据实际需求选择使用。例如:

  • 想快速查看插件列表 → 用 Web UI
  • 需要脚本自动化 → 用 CLI
  • 调试插件行为 → 用 Script Console

这些方法在排查插件兼容性问题、升级插件或部署 Jenkins 时非常实用。掌握它们能有效提升 Jenkins 的使用效率和问题排查能力。


原始标题:Listing Installed Jenkins Plugins