Copy Jobs in Jenkins
Recently guy from Dev-Ops team asked me whether I know a method to copy jobs in Jenkins bulkily while renaming them. I needed something to distract me from all these networking shenanigans. So I took the challange and wrote below script to save the day. Never knew Jenkins got a script console before this.
Anyway, Just replace the Variables at the beginning and paste the script into Manage Jenkins -> Script Console and RUN.
And then create a new view and select all the newly created jobs. That’s it.
import hudson.model.* def str_view = "Source_View" def str_suffix = "Text_TO_ADD_TO_THE_END_OF_JOB" def view = Hudson.instance.getView(str_view) for(item in view.getItems()) { newName = "$item.name"+"$str_suffix" def job = Hudson.instance.copy(item, newName) job.disabled = true job.save() //print source and new name println(" $item.name copied as $newName") }