在Groovy脚本中配置Jenkins更新通道以稳定发布?

在Groovy脚本中配置Jenkins更新通道以稳定发布?,groovy,jenkins-cli,Groovy,Jenkins Cli,我想为我的Jenkins安装编写脚本。我总是使用Jenkins的“稳定”版本(目前为:2.121.3),但我注意到,当我安装稳定版本时,更新网站(在admin>plugin>advance中)被设置为“”而不是稳定版本。我必须将此设置更改为“” 我想通过脚本自动完成。我知道我可以在/var/lib/jenkins/hudson.model.UpdateCenter.xml文件中更改此设置,但我更喜欢使用Groovy脚本来完成此操作 但是我在Groovy脚本中找不到更改此设置的方法,因为我不知道J

我想为我的Jenkins安装编写脚本。我总是使用Jenkins的“稳定”版本(目前为:2.121.3),但我注意到,当我安装稳定版本时,更新网站(在admin>plugin>advance中)被设置为“”而不是稳定版本。我必须将此设置更改为“”

我想通过脚本自动完成。我知道我可以在
/var/lib/jenkins/hudson.model.UpdateCenter.xml
文件中更改此设置,但我更喜欢使用Groovy脚本来完成此操作


但是我在Groovy脚本中找不到更改此设置的方法,因为我不知道Jenkins/Hudson数据模型,也不知道Groovy语法,我不知道如何更改和保存设置。

至于当前的Jenkins core API版本(>2.16X)

和不显示任何允许添加或更新更新站点的方法

源代码确认更新站点的值实际上已加载(我假设在Jenkins的开头),之后不可能更改列表

因此,我想设置自定义更新站点的唯一方法是拥有一个自定义更新站点,即在开始时为Jenkins提供一个自定义的
hudson.model.UpdateCenter.xml

以下是我的一些观察结果(请在下面的评论中确认或否定,因为我不是100%确定):

  • 自定义更新站点必须具有id
    default
  • 插件的发现似乎一开始就失败了。Jenkins必须重新启动才能发现插件

我也在搜索类似的东西,我刚刚用groovy解决了这个问题,希望这对其他人也有帮助

导入hudson.model.UpdateCenter;
导入hudson.model.UpdateSite;
导入hudson.util.PersistedList;
导入jenkins.model.jenkins
地点=”http://updates.jenkins.io/update-center.json"; // 待定:根据需要更新
PersistedListsites=Jenkins.getInstance().getUpdateCenter().getSites();
用于(更新站点:站点){
如果(s.getId().equals(UpdateCenter.ID_默认值))
地点。移除;
}

添加(新的UpdateSite(UpdateCenter.ID_默认,site))将感兴趣!我找不到比这更好的方法了。基本安装后,我将
/var/lib/jenkins/hudson.model.UpdateCenter.xml
配置文件替换为以下内容:
默认值https://updates.jenkins.io/stable/update-center.json