Merge "Update cloud image Ubuntu18.04 mininet ovs"
[releng/builder.git] / scripts / rename-jobs.sh
1 #!/bin/sh
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 -r system
17 echo -n "Enter username: "
18 read -r username
19 echo -n "Enter api_token: "
20 read -r 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 "s@$search_string@$replace_string@g")
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