Index: Leahi/Jira/Jira_Create_Story.sh =================================================================== diff -u -rb05cc9d841ab1e01b418e460a8477a37951bb6f1 -r85018ef34f2ba539a1f4d77ee14a74844327539e --- Leahi/Jira/Jira_Create_Story.sh (.../Jira_Create_Story.sh) (revision b05cc9d841ab1e01b418e460a8477a37951bb6f1) +++ Leahi/Jira/Jira_Create_Story.sh (.../Jira_Create_Story.sh) (revision 85018ef34f2ba539a1f4d77ee14a74844327539e) @@ -18,7 +18,7 @@ PROJECT_KEY="" -STORY_PREFIX="LUIS" +STORY_PREFIX="" # Story details ISSUE_TYPE_PARENT="Story" ISSUE_TYPE_CHILD="Sub-task" @@ -34,54 +34,61 @@ ASSIGNEE="" #Sub-Tasks list of titles -SUBTASK_LIST=" -01: SRS - Software Requirement Specifications - -02: SDD - Design Diagram - plantuml -03: SDR - Design Review - +#SW - InitialIntegration-TreatmentBroadcassts +SW_SUBTASK_LIST=" +01: SRS - Software Requirement Specifications - Jama +02: SWA - Software Architecture - Visio/Word +03: SDD - Design Diagram - plantuml +04: SDR - Design Review +05: DEV - Feature Implementation +06: DEV - Diagnostic - if needed +07: DEV - Modularize - if needed +08: DEV - Dialin Implementation +09: SDD - Functions Documentation +10: DVT - Simulator Implementation & Dev Test +11: BLD - Develop Build - version & release notes +12: SCR - Code Review +13: BLD - Staging Build - version & release notes +14: SUT - Software Unit Tests - Qt Test +15: SIT - Software Integration Tests - Squish Qt +16: COC - Code Coverage - Squish Coco +17: CQR - Code Quality Report - SUIT+SIT+COC +18: BLD - Master Build - version & release notes +" +# FW - +FW_SUBTASK_LIST=" +01: SRS - Software Requirement Specifications - Jama +02: SWA - Software Architecture - Visio/Word +03: SDD - Design Diagram - plantuml 04: DEV - Feature Implementation -05: DEV - Diagnostic - if needed -06: DEV - Modularize - if needed -07: DEV - Dialin Implementation -08: DEV - Simulator Implementation -09: BLD - Develop Build - version , release notes - -10: SDD - Functionality - doxygen pdf -11: SCR - Code Review -12: BLD - Staging Build - version , release notes - -13: SUT - Software Unit Tests - QtTest -14: SIT - Software Integration Tests - SquishQt -15: COC - Code Coverage - SquishCoco -16: CQR - Code Quality Report - SUIT+SIT+COC -17: BLD - Master Build - version , release notes +05: DEV - Dialin Implementation - if needed +06: BLD - Develop Build - version & release notes +07: DVT - Lab Test +08: SCR - Code Review +09: BLD - Staging Build - version & release notes +10: SUT - Software Unit Tests +11: SIT - Software Integration Tests +12: BLD - Master Build - version & release notes " +# OPS - Software package +OP_SUBTASK_LIST=" +01: PKG - Develop +02: PKG - Staging +03: PKG - Master/Release +" +# SVV - Update Software Verification Test Cases +VV_SUBTASK_LIST_DEF=" +01: SRS Review +02: Test Protocols Outline - Jama +03: Test Protocols Implementation, Identify missing items +" +# SVV - Dry Run Software Verification Test Cases +VV_SUBTASK_LIST_RUN=" +01: Dry Run - Develop +02: Dry Run - Staging +03: Dry Run - Master/Release +" - -# LDT-112 - Basic Dialysis Treatment - Update PRS/SSRS Requirements -# LDT-113 - Basic Dialysis Treatment - Update Sys Architecture -# LDT-114 - Basic Dialysis Treatment - Update Sys Hazard Analysis -# LDT-115 - Basic Dialysis Treatment - Update Sys Verification Test Cases -# LDT-116 - Basic Dialysis Treatment - Update SRS Requirements -# LDT-117 - Basic Dialysis Treatment - Update Software Verification Test Cases -# LDT-118 - Basic Dialysis Treatment - Update Software Architecture -# LDT-119 - Basic Dialysis Treatment - Update Software Hazard Analysis/SFMEA -# LDT-120 - Basic Dialysis Treatment - Update Software Detailed Design (SDD) -# LDT-121 - Basic Dialysis Treatment - Update Software Integration Test Cases -# LDT-122 - Basic Dialysis Treatment - Update Unit Tests -# LDT-123 - Basic Dialysis Treatment - Implement TD Code -# LDT-124 - Basic Dialysis Treatment - Implement DD Code -# LDT-125 - Basic Dialysis Treatment - Implement FP Code -# LDT-126 - Basic Dialysis Treatment - Implement SW Code -# LDT-127 - Basic Dialysis Treatment - Dry Run Unit Tests -# LDT-128 - Basic Dialysis Treatment - Dry Run Software Verification Tests -# LDT-129 - Basic Dialysis Treatment - Dry Run Software Integration Tests -# LDT-130 - Basic Dialysis Treatment - Dry Run System Verification Tests -# LDT-131 - Basic Dialysis Treatment - Staging Software Release -# LDT-132 - Basic Dialysis Treatment - Master Software Release - - #Error codes ERROR_INVALID_RESPONSE=1 ERROR_MISSING_SUMMARY=2 @@ -99,6 +106,8 @@ # $1 - Summary # $2 - Description # return the Created story ID +# e.g: +# "$EPIC" "$STORY_PREFIX: $SUMMARY" "$DESCRIPTION" createStroy() { if [ "$1" = "" ]; then echo "ERROR_MISSING_PARENT" @@ -118,8 +127,7 @@ fi local DESCRIPTION="$3" - - echo $PARENT_KEY $SUMMARY $DESCRIPTION $ASSIGNEE + # echo $PARENT_KEY $SUMMARY $DESCRIPTION $ASSIGNEE # exit 0 # Create the Story using curl @@ -132,17 +140,17 @@ "fields" : { "project" : { "key" : "'"$PROJECT_KEY"'" - } , - "summary" : "'"$SUMMARY"'" , - "description" : "'"$DESCRIPTION"'" , + } , + "summary" : "'"$EPIC_SUMMARY - $SUMMARY"'" , + "description" : "'"$DESCRIPTION"'" , "issuetype" : { "name" : "'"$ISSUE_TYPE_PARENT"'" - } , + } , "parent" : { "key" : "'"$PARENT_KEY"'" - } , + } , "assignee" : { - "accountId" : "'"$ASSIGNEE"'" + "accountId" : "'"$ASSIGNEE"'" } } }' @@ -194,6 +202,16 @@ fi local DESCRIPTION="$3" + if [ "$4" != "" ]; then + local 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 "----- ASSIGNEE " $ASSIGNEE # Create the Story using curl local RESPONSE="$( curl \ -s -X POST \ @@ -204,17 +222,17 @@ "fields" : { "project" : { "key" : "'"$PROJECT_KEY"'" - } , - "summary" : "'"$SUMMARY"'" , - "description" : "'"$DESCRIPTION"'" , + } , + "summary" : "'"$EPIC_SUMMARY - $SUMMARY"'" , + "description" : "'"$DESCRIPTION"'" , "issuetype" : { "name" : "'"$ISSUE_TYPE_CHILD"'" - } , + } , "parent" : { "key" : "'"$PARENT_KEY"'" - }, + } , "assignee" : { - "accountId" : "'"$ASSIGNEE"'" + "accountId" : "'"$ASSIGNEE"'" } } }' @@ -257,12 +275,11 @@ if [ "$2" = "" ]; then SUMMARY="$STORY" fi - - for TITLE in $SUBTASK_LIST; do + for TITLE in $SW_SUBTASK_LIST; do if [ "$TITLE" = "" ]; then continue fi - local TASK="$( createSubtask "$STORY" "$STORY_PREFIX: $TITLE" "$TITLE" )" + local TASK="$( createSubtask "$STORY" "$STORY_PREFIX$TITLE" "$TITLE" )" echo "$ISSUE_TYPE_CHILD $TASK created in $ISSUE_TYPE_PARENT $STORY: $TITLE." COUNT=$(( COUNT + 1 )) done @@ -271,13 +288,58 @@ 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 \ + -X GET \ + -u "$JIRA_USER:$JIRA_API_TOKEN" \ + -H "Content-Type: application/json" \ + "$JIRA_BASE_URL/rest/api/2/issue/$1" \ + | jq -r '.fields.summary' + )" + local RESULT=$? + + if [ $RESULT -ne 0 ] ; then + echo "EXEC $ERROR_STR $RESULT\n" + echo "$COMMAND\n" + exit $ERROR_EXECUTION + fi + + echo "$ISSUE_SUMMARY" + # echo $RESULT +} + userInformation() { local USER_INFO="$( curl \ -X GET \ -u "$JIRA_USER:$JIRA_API_TOKEN" \ -H "Content-Type: application/json" \ "$JIRA_BASE_URL/rest/api/3/user/search?query=$1" \ - | jq -r '.[0] | "\(.accountId) - \(.emailAddress)"' + | jq -r '.[0] | "\(.accountId) - \(.emailAddress) - \(.displayName) - \(.active)"' )" local RESULT=$? @@ -286,6 +348,21 @@ # echo $RESULT } +accountId() { + local USER_INFO="$( curl \ + -X GET \ + -u "$JIRA_USER:$JIRA_API_TOKEN" \ + -H "Content-Type: application/json" \ + "$JIRA_BASE_URL/rest/api/3/user/search?query=$1" \ + | jq -r '.[0] | "\(.accountId)"' + + )" + local RESULT=$? + + echo "$USER_INFO" + # echo $RESULT +} + children() { local CHILDREN="$( curl \ -X GET \ @@ -331,7 +408,7 @@ help() { echo "usage:" - echo "$0 " + echo "$0 " } case "$1" in @@ -343,6 +420,14 @@ userInformation "$2" exit 0 ;; + "-i") + if [ "$2" = "" ]; then + echo "ERROR_MISSING_USERNAME" + exit $ERROR_MISSING_USERNAME + fi + accountId "$2" + exit 0 + ;; "-h") help exit 0 @@ -368,11 +453,22 @@ # LEAH \ # 5d6f09ceab129d0c306d9ddb +# Behrouz 5d6f09ceab129d0c306d9ddb - bnematipour@diality.com - Behrouz NematiPour - true +# Sean 612ea6656fa73c006a74b38a - snash@diality.com - Sean Nash - true +# Dara 63bdca0294d18cbf67728f0c - dnavaei@diality.com - Dara Navaei - true +# Michael 612ea6656b6661006902b6a6 - mgarthwaite@diality.com - Michael Garthwaite - true +# Tiffany 60e7528f84c99200718a2beb - tmejia@diality.com - Tiffany Mejia - 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" -SUMMARY="$3" -DESCRIPTION="$4" -ASSIGNEE="$5" +GROUP="$3" +SUMMARY="$4" +DESCRIPTION="$5" +ASSIGNEE="$6" if [ "$PROJECT_KEY" = "" ]; then echo "ERROR_MISSING_PROJECTKEY" @@ -384,10 +480,17 @@ exit $ERROR_MISSING_ASSIGNEE fi -KEY="$( createStroy "$EPIC" "$STORY_PREFIX: $SUMMARY" "$DESCRIPTION" )" +EPIC_SUMMARY="$( summary $EPIC )" +KEY="$( createStroy "$EPIC" "$STORY_PREFIX$SUMMARY" "$DESCRIPTION" )" echo "$ISSUE_TYPE_PARENT $KEY created in project $PROJECT_KEY: $SUMMARY." -# createSubtaskList "$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 +createSubtaskList "$KEY" "$SUMMARY" + echo "" exit 0