From: Nathan Cutler Date: Tue, 3 Sep 2019 14:35:50 +0000 (+0200) Subject: script/ceph-backport.sh: use tracker subject if no original PR X-Git-Tag: v15.1.0~1586^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3a45b121460619eb9dd964ac07d283bfb80a4e3d;p=ceph.git script/ceph-backport.sh: use tracker subject if no original PR If "--prepare" is not used, there won't be an original PR. In this case, base the backport PR title on the tracker subject line. Signed-off-by: Nathan Cutler --- diff --git a/src/script/ceph-backport.sh b/src/script/ceph-backport.sh index e729fd4231f2..3de811d9e16b 100755 --- a/src/script/ceph-backport.sh +++ b/src/script/ceph-backport.sh @@ -134,6 +134,12 @@ if [[ $* == *--verbose* ]]; then verbose="1" fi +remote_api_output=$(mktemp /tmp/${this_script}.remote_api_output.XXXXX) +function rm_tmp_files { + rm -f "$remote_api_output" +} +trap rm_tmp_files EXIT + function log { local level="$1" shift @@ -336,7 +342,8 @@ fi redmine_url="${redmine_endpoint}/issues/${issue}" debug "Considering Redmine issue: $redmine_url - is it in the Backport tracker?" -tracker=$(curl --silent "${redmine_url}.json" | jq -r '.issue.tracker.name') +curl --silent "${redmine_url}.json" > $remote_api_output +tracker=$(cat $remote_api_output | jq -r '.issue.tracker.name') if [ "$tracker" = "Backport" ]; then debug "Yes, $redmine_url is a Backport issue" else @@ -346,7 +353,7 @@ else fi debug "Looking up release/milestone of $redmine_url" -milestone=$(curl --silent "${redmine_url}.json" | jq -r '.issue.custom_fields[0].value') +milestone=$(cat $remote_api_output | jq -r '.issue.custom_fields[0].value') if [ "$milestone" ] ; then debug "Release/milestone: $milestone" else @@ -354,6 +361,9 @@ else exit 1 fi +tracker_title=$(cat $remote_api_output | jq -r '.issue.subject') +debug "Title of $redmine_url is ->$tracker_title<-" + # milestone numbers can be obtained manually with: # curl --verbose -X GET https://api.github.com/repos/ceph/ceph/milestones milestone_number=$(curl -s -X GET 'https://api.github.com/repos/ceph/ceph/milestones?access_token='$github_token | jq --arg milestone $milestone '.[] | select(.title==$milestone) | .number') @@ -397,7 +407,15 @@ fi desc="${desc}\n\nthis backport was staged using ${github_endpoint}/blob/master/src/script/ceph-backport.sh" debug "Generating backport PR title" -title="${milestone}: $(curl --silent https://api.github.com/repos/ceph/ceph/pulls/${original_pr} | jq -r '.title')" +if [ "$original_pr" ] ; then + title="${milestone}: $(curl --silent https://api.github.com/repos/ceph/ceph/pulls/${original_pr} | jq -r '.title')" +else + if [[ $tracker_title =~ ^${milestone}: ]] ; then + title="${tracker_title}" + else + title="${milestone}: ${tracker_title}" + fi +fi if [[ $title =~ \" ]] ; then title=$(echo $title | sed -e 's/"/\\"/g') fi