Skip to content

Instantly share code, notes, and snippets.

@alecharp
Last active March 20, 2025 20:02
Show Gist options
  • Save alecharp/d8329a744333530e18e5d810645c1238 to your computer and use it in GitHub Desktop.
Save alecharp/d8329a744333530e18e5d810645c1238 to your computer and use it in GitHub Desktop.
Simple groovy script to upgrade active plugins when new versions are available
jenkins.model.Jenkins.getInstance().getUpdateCenter().getSites().each { site ->
site.updateDirectlyNow(hudson.model.DownloadService.signatureCheck)
}
hudson.model.DownloadService.Downloadable.all().each { downloadable ->
downloadable.updateNow();
}
def plugins = jenkins.model.Jenkins.instance.pluginManager.activePlugins.findAll {
it -> it.hasUpdate()
}.collect {
it -> it.getShortName()
}
println "Plugins to upgrade: ${plugins}"
long count = 0
jenkins.model.Jenkins.instance.pluginManager.install(plugins, false).each { f ->
f.get()
println "${++count}/${plugins.size()}.."
}
if(plugins.size() != 0 && count == plugins.size()) {
jenkins.model.Jenkins.instance.safeRestart()
}
@yuval2313
Copy link

Thanks for this! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment