Create the file changeSvnUrl.groovy with this content:
import hudson.scm.*
// Access to the Hudson Singleton
jenkinsInstance = jenkins.model.Jenkins.instance
// Retrieve all jobs
allJobs = jenkinsInstance.items
svnCredentialsId = "c8xxxee-965c-4cc0-b662-8a5xxx7d41b"
// iterate over jobs with Subversion as SCM
allJobs.each { job ->
if (job.scm instanceof SubversionSCM) {
if (job.scm.locations[0].remote.startsWith("http://oldhost/svn")) {
oldUrl = job.scm.locations[0].remote
newUrl = oldUrl.replace("http://oldhost/svn", "https://newhost/svn/project")
println("changing Subversion URL in " + job.name + " from " + oldUrl + " to " + newUrl)
job.scm = new hudson.scm.SubversionSCM(newUrl)
job.scm.locations[0] = job.scm.locations[0].withCredentialsId(svnCredentialsId)
}
}
}
Execute:
java -jar jenkins-cli.jar -s http://jenkinshost/ groovy changeSvnUrl.groovy