是否有用于Jenkins插件的REST API?

问题描述 投票:1回答:1

我正在尝试编写一个脚本,以快速检查我们的Jenkins插件是否最新。我知道这是Jenkins的内置功能,但是出于安全原因,我们的Jenkins实例无法访问互联网。

我知道我可以从以下位置获得有关插件的很多信息,包括版本:

https://plugins.jenkins.io/<name-of-plugin>

但是,我无法返回HTML以外的任何内容。我可以抓取HTML以获得版本号,但是如果有一个稳定的API返回JSON或类似的API,那将是首选。我很确定Jenkins不会抓取HTML来检查更新,因此API必须存在。有人知道它在哪里吗?

rest api jenkins plugins jenkins-plugins
1个回答
1
投票

似乎有两种解决方案。我最后刮了:

https://updates.jenkins.io/download/plugins/<name-of-plugin>

最新版本始终位于第二行的第二列中,因此抓取很简单。在大多数情况下,它运行良好,但有时会拒绝连接,我认为这可能是由于脚本发送的请求量大。]

我发现的另一个选项是下载以下JSON文件:

https://updates.jenkins.io/current/update-center.actual.json

当前为1.7MB,其中包含有关所有Jenkins插件的最新版本的信息。它还包含诸如依赖性之类的元数据,它使您的脚本可以验证是否满足所有依赖性。

[不幸的是,我还没有找到下载单个插件的JSON的方法,因此您要么必须为单个插件抓取HTML,要么为所有插件下载大量的JSON。

更新:

我找到了API:

https://plugins.jenkins.io/api/plugin/<name-of-plugin>

而且我还找到了源代码和文档:

https://github.com/jenkins-infra/plugin-site-api

© www.soinside.com 2019 - 2024. All rights reserved.