Index: Leahi/Jira/Jira_Create_Story.sh =================================================================== diff -u -r85018ef34f2ba539a1f4d77ee14a74844327539e -rdf33f10a20915a6b0d96903e80c84241d3c48956 --- Leahi/Jira/Jira_Create_Story.sh (.../Jira_Create_Story.sh) (revision 85018ef34f2ba539a1f4d77ee14a74844327539e) +++ Leahi/Jira/Jira_Create_Story.sh (.../Jira_Create_Story.sh) (revision df33f10a20915a6b0d96903e80c84241d3c48956) @@ -18,10 +18,9 @@ PROJECT_KEY="" -STORY_PREFIX="" # Story details ISSUE_TYPE_PARENT="Story" -ISSUE_TYPE_CHILD="Sub-task" +ISSUE_TYPE_CHILD="Subtask" ERROR_KEY="errorMessages" ERROR_STR="ERROR:" @@ -33,6 +32,8 @@ ASSIGNEE="" +SUBTASK_LIST="" + #Sub-Tasks list of titles #SW - InitialIntegration-TreatmentBroadcassts SW_SUBTASK_LIST=" @@ -99,6 +100,7 @@ ERROR_MISSING_PROJECTKEY=7 ERROR_MISSING_USERNAME=8 ERROR_MISSING_ASSIGNEE=9 +ERROR_INVALID_GROUP=10 ##Functions @@ -107,7 +109,7 @@ # $2 - Description # return the Created story ID # e.g: -# "$EPIC" "$STORY_PREFIX: $SUMMARY" "$DESCRIPTION" +# "$EPIC" "$SUMMARY" "$DESCRIPTION" createStroy() { if [ "$1" = "" ]; then echo "ERROR_MISSING_PARENT" @@ -131,6 +133,10 @@ # exit 0 # Create the Story using curl + local SUMMARY_PREFIX="$EPIC_SUMMARY" + if [ "$GROUP" != "" ]; then + SUMMARY_PREFIX="$EPIC_SUMMARY - $GROUP" + fi local RESPONSE="$( curl \ -s -X POST \ --url "$JIRA_BASE_URL/rest/api/2/issue/" \ @@ -141,7 +147,7 @@ "project" : { "key" : "'"$PROJECT_KEY"'" } , - "summary" : "'"$EPIC_SUMMARY - $SUMMARY"'" , + "summary" : "'"$SUMMARY_PREFIX - $SUMMARY"'" , "description" : "'"$DESCRIPTION"'" , "issuetype" : { "name" : "'"$ISSUE_TYPE_PARENT"'" @@ -202,16 +208,27 @@ fi local DESCRIPTION="$3" + local PARENT_TITLE="" if [ "$4" != "" ]; then - local PARENT_TITLE="$4" + PARENT_TITLE="$4" fi + + # echo "----- PROJECT_KEY " $PROJECT_KEY + # echo "----- SUMMARY " $SUMMARY + # echo "----- DESCRIPTION " $DESCRIPTION + # echo "----- ISSUE_TYPE_CHILD " $ISSUE_TYPE_CHILD + # echo "----- PARENT_KEY " $PARENT_KEY + # echo "----- PARENT_SUMMARY " $PARENT_TITLE + # echo "----- ASSIGNEE " $ASSIGNEE - echo "----- PROJECT_KEY " $PROJECT_KEY - echo "----- SUMMARY " $SUMMARY - echo "----- DESCRIPTION " $DESCRIPTION - echo "----- ISSUE_TYPE_CHILD " $ISSUE_TYPE_CHILD - echo "----- PARENT_KEY " $PARENT_KEY - echo "----- ASSIGNEE " $ASSIGNEE + local SUMMARY_PREFIX="$EPIC_SUMMARY" + if [ "$GROUP" != "" ]; then + SUMMARY_PREFIX="$EPIC_SUMMARY - $GROUP" + fi + if [ "$PARENT_TITLE" != "" ]; then + SUMMARY_PREFIX="$EPIC_SUMMARY - $GROUP - $PARENT_TITLE" + fi + # Create the Story using curl local RESPONSE="$( curl \ -s -X POST \ @@ -223,7 +240,7 @@ "project" : { "key" : "'"$PROJECT_KEY"'" } , - "summary" : "'"$EPIC_SUMMARY - $SUMMARY"'" , + "summary" : "'"$SUMMARY_PREFIX - $SUMMARY"'", "description" : "'"$DESCRIPTION"'" , "issuetype" : { "name" : "'"$ISSUE_TYPE_CHILD"'" @@ -272,14 +289,15 @@ local COUNT=0 local STORY="$1" local SUMMARY="$2" - if [ "$2" = "" ]; then - SUMMARY="$STORY" - fi - for TITLE in $SW_SUBTASK_LIST; do + # if [ "$2" = "" ]; then + # SUMMARY="$STORY" + # fi + + for TITLE in $SUBTASK_LIST; do if [ "$TITLE" = "" ]; then continue fi - local TASK="$( createSubtask "$STORY" "$STORY_PREFIX$TITLE" "$TITLE" )" + local TASK="$( createSubtask "$STORY" "$TITLE" "$TITLE" "$SUMMARY")" echo "$ISSUE_TYPE_CHILD $TASK created in $ISSUE_TYPE_PARENT $STORY: $TITLE." COUNT=$(( COUNT + 1 )) done @@ -288,30 +306,6 @@ IFS=$OLD_IFS } -sw_createSubtaskList () { - echo -} - -td_createSubtaskList () { - echo -} - -dd_createSubtaskList () { - echo -} - -fp_createSubtaskList () { - echo -} - -op_createSubtaskList () { - echo -} - -vv_createSubtaskList () { - echo -} - summary() { #echo ~$1~ local ISSUE_SUMMARY="$( curl \ @@ -406,28 +400,48 @@ echo "$RESPONSE" } +issueTypes() { + local RESPONSE="$( curl \ + -X GET \ + -u "$JIRA_USER:$JIRA_API_TOKEN" \ + -H "Content-Type: application/json" \ + "$JIRA_BASE_URL/rest/api/3/project/$1" \ + | jq -r '.issueTypes[] | "\(.id) : \(.name)"' \ + )" + local RESULT=$? + echo "$RESPONSE" +} + help() { echo "usage:" echo "$0 " } case "$1" in - "-u") + "-userInfo") if [ "$2" = "" ]; then echo "ERROR_MISSING_USERNAME" exit $ERROR_MISSING_USERNAME fi userInformation "$2" exit 0 ;; - "-i") + "-userId") if [ "$2" = "" ]; then echo "ERROR_MISSING_USERNAME" exit $ERROR_MISSING_USERNAME fi accountId "$2" exit 0 ;; + "-issueTypes") + if [ "$2" = "" ]; then + echo "ERROR_MISSING_PROJECTKEY" + exit $ERROR_MISSING_PROJECTKEY + fi + issueTypes "$2" + exit 0 + ;; "-h") help exit 0 @@ -458,11 +472,11 @@ # Dara 63bdca0294d18cbf67728f0c - dnavaei@diality.com - Dara Navaei - true # Michael 612ea6656b6661006902b6a6 - mgarthwaite@diality.com - Michael Garthwaite - true # Tiffany 60e7528f84c99200718a2beb - tmejia@diality.com - Tiffany Mejia - true +# Sarina 5f84db2c57ca8c0076426fbb - scheung@diality.com - Sarina Cheung - true # Vinay 712020:786e2eb8-3cdd-4975-aa18-c3f40b0d6871 - vmani@diality.com - Vinayakam Mani - true # Amir 712020:18638c6b-26a8-4529-839a-172ac06ac020 - amanesh@diality.com - Amir Manesh - true # Jonny 712020:af6bd98b-1897-4870-aaf6-fd6169805d9e - jpaguio@diality.com - Jonny Paguio - true # Daniel 712020:1cd45b7c-2a8a-4635-beb4-fe4680cd2c44 - dho@diality.com - Daniel Ho - true - PROJECT_KEY="$1" EPIC="$2" GROUP="$3" @@ -481,16 +495,72 @@ fi EPIC_SUMMARY="$( summary $EPIC )" -KEY="$( createStroy "$EPIC" "$STORY_PREFIX$SUMMARY" "$DESCRIPTION" )" -echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." +# KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" +# echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." +# +# echo "+++++ EPIC_SUMMARY " $EPIC_SUMMARY +# echo "+++++ ISSUE_TYPE_PARENT " $ISSUE_TYPE_PARENT +# echo "+++++ KEY " $KEY +# echo "+++++ PROJECT_KEY " $PROJECT_KEY +# echo "+++++ SUMMARY " $SUMMARY -echo "+++++ EPIC_SUMMARY " $EPIC_SUMMARY -echo "+++++ ISSUE_TYPE_PARENT " $ISSUE_TYPE_PARENT -echo "+++++ KEY " $KEY -echo "+++++ PROJECT_KEY " $PROJECT_KEY -echo "+++++ SUMMARY " $SUMMARY -createSubtaskList "$KEY" "$SUMMARY" +case "$GROUP" in + "SW") + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$SW_SUBTASK_LIST + createSubtaskList "$KEY" "$SUMMARY" + ;; + "TD") + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$FW_SUBTASK_LIST + createSubtaskList "$KEY" "$SUMMARY" + ;; + "DD") + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$FW_SUBTASK_LIST + createSubtaskList "$KEY" "$SUMMARY" + ;; + "FP") + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$FW_SUBTASK_LIST + createSubtaskList "$KEY" "$SUMMARY" + ;; + "OP") + GROUP="" + SUMMARY="Software Packages" + DESCRIPTION=$SUMMARY + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$OP_SUBTASK_LIST + createSubtaskList "$KEY" "" + ;; + "VV") + # GROUP="" + SUMMARY="Update Software Verification Test Cases" + DESCRIPTION=$SUMMARY + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$VV_SUBTASK_LIST_DEF + createSubtaskList "$KEY" "" + + SUMMARY="Dry Run Software Verification Test Cases" + DESCRIPTION=$SUMMARY + KEY="$( createStroy "$EPIC" "$SUMMARY" "$DESCRIPTION" )" + echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." + SUBTASK_LIST=$VV_SUBTASK_LIST_RUN + createSubtaskList "$KEY" "" + ;; + *) + echo "ERROR_INVALID_GROUP" + exit $ERROR_INVALID_GROUP + ;; +esac + echo "" exit 0