【发布时间】:2019-10-22 16:16:04
【问题描述】:
我正在尝试编写一个脚本来快速检查我们的 Jenkins 插件是否是最新的。我知道这是 Jenkins 的内置功能,但出于安全原因,我们的 Jenkins 实例无法访问互联网。
我知道我可以从以下渠道获得很多关于插件的信息,包括版本信息:
https://plugins.jenkins.io/<name-of-plugin>
但是,我无法让它返回 HTML 以外的任何内容。我可以从 HTML 中获取版本号,但如果有一个稳定的 API 可以返回 JSON 或类似的,那将是首选。我很确定 Jenkins 不会抓取 HTML 来检查更新,因此 API 必须存在。有谁知道它在哪里?
【问题讨论】:
-
您可能想查看此Plugin Management Library。我们使用Docker install_plugins.sh。不是您正在寻找的答案...
-
我已经实现了抓取。考虑把它变成一个公共 API,但现在我只有在本地。
-
如果您已经在抓取,您可以节省大量精力,只需从updates.jenkins.io 获取数据。您可以在 jenkins-infra/update-center2 阅读 Github 上的文档,包括 site layout。您还可以检查 Jenkins 中的 PluginManager 代码 - jenkins/core/src/main/java/hudson/PluginManager.java
标签: rest api jenkins plugins jenkins-plugins