Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Kodeblok
languageshell
titleupdateFieldsUpdateShadowFieldsForIssue.sh
#!/bin/bash

mkdir runlog

source config.txt

IFS=$(echo -en ",")

REST="/rest/scriptrunner/latest/custom/UpdateShadowFieldsForIssue"
DRYRUN=""
EMPTYONLY="1"
SKIPINDEX=""
DAYSBACK=

#Loop projects
curl -s -u "$USERNAME:$PASSWORD" -X GET -H 'Content-Type: application/json'  $BASEURL/rest/api/2/project?maxResults=1000 > projects.json
cat projects.json | jq '.[].key' | while read -r PROJECTKEY; 
do

  PROJECTKEY=$(echo $PROJECTKEY | sed 's/\"//g')
  echo "$PROJECTKEY" >> runlog.txt

  #Loop Issuetypes for the Project
  curl -s -u "$USERNAME:$PASSWORD" -X GET -H 'Content-Type: application/json'  $BASEURL/rest/api/2/issue/createmeta/$PROJECTKEY/issuetypes?maxResults=1000 > issuetypes.json
  cat issuetypes.json | jq '.values[].name' | while read -r ISSUETYPE;
  do

    ISSUETYPE=$(echo $ISSUETYPE | sed 's/\"//g')
    echo $ISSUETYPE >> runlog.txt

    #Loop Fields
    declare -a FIELDMAP=("23321|29033|M" "23523|29020|S" "24523|29021|S" "23522|29022|S" "24623|29026|S" "24422|29023|S" "23726|29024|S" "23728|29034|M" "23729|29035|M" "23727|29025|S" "24920|29036|S" "24921|29037|S" "24624|29027|S" "24423|29028|S" "23320|29032|S" "24821|29031|S" "24625|29030|S" "24424|29029|S" "24922|29039|S" "24923|29038|S" "24924|29040|S" "24925|29041|S" "24926|29042|S" "25028|29043|S" "25027|29044|S")

    for FIELD in "${FIELDMAP[@]}"
    do
	
      #echo "Field $FIELD"
	    SOURCEFIELDID=$(echo $FIELD | cut -d '|' -f 1)
	    SHADOWFIELDID=$(echo $FIELD | cut -d '|' -f 2)
	    TYPE=$(echo $FIELD | cut -d '|' -f 3)

      ISSUETYPE=$(echo $ISSUETYPE | sed 's/ /%20/g')
	
	    QUERYSTRING="projectkey=$PROJECTKEY&issuetype=$ISSUETYPE&sourcefieldid=$SOURCEFIELDID&shadowfieldid=$SHADOWFIELDID&type=$TYPE&emptyonly=$EMPTYONLY&dryrun=$DRYRUN&skipindex=$SKIPINDEX&daysback=$DAYSBACK"
	    echo "curling.... $QUERYSTRING"
	    echo "Running.... $QUERYSTRING" >> log.txt
	    curl -u "$USERNAME:$PASSWORD" -o runlog/$PROJECTKEY-$ISSUETYPE-$SOURCEFIELDID -X GET -H 'Content-Type: application/json' "$BASEURL$REST?$QUERYSTRING"

    done
  done
done

...