如何以编程方式向 jenkins 添加插件

How to add plugins to jenkins programmatically

我试图找到一种以编程方式向 Jenkins 添加插件的方法,发现 this 答案很有用。它显示了使用以下 curl 命令并在之后重新启动 Jenkins 的方法。

curl -X POST -d '<jenkins><install plugin="plugin-name@version" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins

它对许多插件都成功运行,但对某些插件(如 Pipeline 和 Amazon EC2)却失败了。下面是我用来安装 Pipeline 插件的命令。

curl -X POST -d '<jenkins><install plugin="Pipeline@2.6" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins

我该如何解决这个问题?

您需要在请求中指定plugin-id

您可以在 https://plugins.jenkins.io 上找到您的插件并从描述中获得 plugin-id

例如声明式管道插件 (https://plugins.jenkins.io/pipeline-model-definition) 的 ID pipeline-model-definition

Pipeline: Declarative1.3.9
Minimum Jenkins requirement: 2.150.1
ID: pipeline-model-definition