Disable builder-weekly job
[releng/builder.git] / scripts / rename-jobs.sh
1 #!/bin/bash
2
3 # Script to rename Jenkins jobs by searching and replacing a string with a new
4 # string.
5 #
6 #   Usage: ./rename-jobs <search_string> <replace_string>
7 #
8 # For example: aaa-merge-master > aaa-merge-beryllium
9 #     ./rename-jobs master beryllium
10
11
12 search_string=$1
13 replace_string=$2
14
15 echo -n "Enter system (sandbox|releng): "
16 read system
17 echo -n "Enter username: "
18 read username
19 echo -n "Enter api_token: "
20 read password
21
22 echo $username:$password
23
24 wget -O jenkins-jobs.xml https://jenkins.opendaylight.org/$system/api/xml
25
26 jobs=`xmlstarlet sel -t -m '//hudson/job' \
27                      -n -v 'name' jenkins-jobs.xml | \
28       grep ${search_string}`
29
30 for job in `echo $jobs | tr "\n" " "`; do
31     new_job=`echo $job | sed -e "s/${search_string}/${replace_string}/"`
32     echo "Renaming $job to $new_job"
33     curl --data "newName=${new_job}" "https://$username:$password@jenkins.opendaylight.org/$system/job/${job}/doRename"
34 done