]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
script: Obtain milestones via github API
authorLenz Grimmer <lgrimmer@suse.com>
Thu, 18 Apr 2019 11:33:22 +0000 (13:33 +0200)
committerLenz Grimmer <lgrimmer@suse.com>
Wed, 24 Apr 2019 12:12:59 +0000 (14:12 +0200)
Replace the hard-coded list of milestones with an API request
that obtains this data from github directly.

Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
src/script/ceph-backport.sh

index 783bd3558d4c95f6d5affc101717d1321278cc55..70b3643cb105ac7734b2a233f80a21477d1a8703 100755 (executable)
@@ -90,33 +90,16 @@ fi
 test "$milestone" || usage
 echo "Milestone: $milestone"
 
-# ------------------------------------
-# How to find out the milestone number
-# ------------------------------------
-# can't seem to extract the milestone number with the API
-# milestone numbers can be obtained with:
+# milestone numbers can be obtained manually with:
 #   curl --verbose -X GET https://api.github.com/repos/ceph/ceph/milestones
 
-if [[ "x$milestone" = "xhammer" ]] ; then
-    milestone_number=5
-    target_branch=hammer
-elif [[ "x$milestone" = "xjewel" ]] ; then
-    milestone_number=8
-    target_branch=jewel
-elif [[ "x$milestone" = "xkraken" ]] ; then
-    milestone_number=9
-    target_branch=kraken
-elif [[ "x$milestone" = "xluminous" ]] ; then
-    milestone_number=10
-    target_branch=luminous
-elif [[ "x$milestone" = "xmimic" ]] ; then
-    milestone_number=11
-    target_branch=mimic
-elif [[ "x$milestone" = "xnautilus" ]] ; then
-    milestone_number=12
-    target_branch=nautilus
+milestone_number=$(curl -s -X GET https://api.github.com/repos/ceph/ceph/milestones | jq --arg milestone $milestone '.[] | select(.title==$milestone) | .number')
+
+if test -n "$milestone_number" ; then
+    target_branch="$milestone"
 else
-    echo "Please enter hammer, jewel, kraken, luminous, mimic, or nautilus"
+    echo -n "Unknown Milestone. Please use one of the following ones: "
+    echo $(curl -s -X GET https://api.github.com/repos/ceph/ceph/milestones | jq '.[].title')
     exit 1
 fi
 echo "Milestone is $milestone and milestone number is $milestone_number"