]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
script/ceph-backport.sh: check Backport ticket assignee
authorNathan Cutler <ncutler@suse.com>
Fri, 6 Sep 2019 21:38:46 +0000 (23:38 +0200)
committerNathan Cutler <ncutler@suse.com>
Wed, 11 Sep 2019 10:41:44 +0000 (12:41 +0200)
Don't work on tickets assigned to someone else.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
src/script/ceph-backport.sh

index 5a45ceedeecd4f65b194b03c3a3270267808fc8d..17ec110c7258d5c9cdeae4db65964cfd511441a0 100755 (executable)
@@ -514,6 +514,18 @@ fi
 tracker_title=$(echo $remote_api_output | jq -r '.issue.subject')
 debug "Title of $redmine_url is ->$tracker_title<-"
 
+tracker_assignee_id=$(echo $remote_api_output | jq -r '.issue.assigned_to.id')
+tracker_assignee_name=$(echo $remote_api_output | jq -r '.issue.assigned_to.name')
+debug "$redmine_url is assigned to $tracker_assignee_name (ID $tracker_assignee_id)"
+
+if [ "$tracker_assignee_id" = "null" -o "$tracker_assignee_id" = "$redmine_user_id" ] ; then
+    true
+else
+    error "$redmine_url is assigned to $tracker_assignee_name (ID $tracker_assignee_id)"
+    info "Cowardly refusing to work on an issue that is assigned to someone else"
+    false
+fi
+
 milestone_number=$(try_known_milestones "$milestone")
 if [ "$milestone_number" -gt "0" ] >/dev/null 2>&1 ; then
     target_branch="$milestone"
@@ -609,6 +621,6 @@ pgrep firefox >/dev/null && firefox ${github_endpoint}/pull/$number
 
 debug "Updating backport tracker issue in Redmine"
 redmine_status=2 # In Progress
-curl -X PUT --header 'Content-type: application/json' --data-binary '{"issue":{"description":"https://github.com/ceph/ceph/pull/'$number'","status_id":'$redmine_status',"assigned_to_id":'$redmine_user_id'}}' ${redmine_url}'.json?key='$redmine_key
+curl -X PUT --header 'Content-type: application/json' --data-binary '{"issue":{"description":"https://github.com/ceph/ceph/pull/'$number'","status_id":'$redmine_status',"assigned_to_id":'$redmine_user_id'},"notes":"Updated automatically by ceph-backport.sh"}' ${redmine_url}'.json?key='$redmine_key
 info "${redmine_url} updated"
 pgrep firefox >/dev/null && firefox ${redmine_url}