-
Notifications
You must be signed in to change notification settings - Fork 0
Jira:Application Links:Rebuild Application Links after import
lbonanomi edited this page Feb 15, 2025
·
1 revision
THIS=$1
curl -ns https://jira.server.com/rest/api/latest/issue/$THIS/remotelink | jq '.[] | "(.id)@(.object.url)@(.relationship)"' | tr -d '"' | while read LINE do
NEWURL=$(echo $LINE | awk -F"@" '{ print $2 }' | awk -F"/" '{ print $5 }')
RELATE=$(echo $LINE | awk -F"@" '{ print $3 }')
RLBL=$(curl -ns https://jira.server.com/rest/api/2/issueLinkType | jq '.issueLinkTypes[] | "\(.name)@\(.inward)@\(.outward)"' | tr -d '"' | awk -F"@" '/'"$RELATE"'/ {print $1}')
IN=$(curl -ns https://jira.server.com/rest/api/2/issueLinkType | jq '.issueLinkTypes[] | "\(.name)@\(.inward)@\(.outward)"' | tr -d '"' | awk -F"@" '/'"$RELATE"'/ {print $2}' | tail -1)
OUT=$(curl -ns https://jira.server.com/rest/api/2/issueLinkType | jq '.issueLinkTypes[] | "\(.name)@\(.inward)@\(.outward)"' | tr -d '"' | awk -F"@" '/'"$RELATE"'/ {print $3}' | tail -1)
echo $RELATE
echo "IN:"$IN
echo "OUT:"$OUT
if [[ "$RELATE" == "$IN" ]]
then
echo curl -ns -X POST -H \'Content-Type: application/json\' -d \'{ \"type\": { \"name\": \"$RLBL\" }, \"outwardIssue\": { \"key\":\"$THIS\"}, \"inwardIssue\": { \"key\":\"$NEWURL\" }}\' https://jira.server.com/rest/api/latest/issueLink | bash
elif [[ "$RELATE" == "$OUT" ]]
then
echo curl -ns -X POST -H \'Content-Type: application/json\' -d \'{ \"type\": { \"name\": \"$RLBL\" }, \"inwardIssue\": { \"key\":\"$THIS\"}, \"outwardIssue\": { \"key\":\"$NEWURL\" }}\' https://jira.server.com/rest/api/latest/issueLink | bash
fi
# DELETE OLD LINK
JUNK=$(curl -ns https://jira.server.com/rest/api/latest/issue/$THIS/remotelink | jq .[].self)
echo "DELETE $JUNK" >> /var/tmp/delete_these_links
done
- Backup-and-Restore
- Console
- Emergencies
- Housekeeping
- Integrations-and-External-Programs
- Search
- Throttles
- Usage