Sidehistorik
...
Kodeblok | ||||
---|---|---|---|---|
| ||||
#!/bin/bash
rm /tmp/crontab > /dev/null 2>&1
cd /opt/jira-cron/
IFS=$(echo -en "\n\b")
TODAY=`date +%Y-%m-%d.%H:%M:%S`
TransitionScript="/opt/jira-cron/jiraTransitionIssue.sh"
JIRAFilter="issuetype%20%3D%20%22Repeatable%20Task%22%20AND%20status%20in%20%28Frozen%29%20%20and%20%22Cron%20Scheduling%22%20IS%20NOT%20NULL&maxResults=999"
JIRAUSER=""
JIRAPASS=""
#echo https://jira.server.dk/rest/api/2/search?jql=$JIRAFilter
CURLOPT_HEADER=0
export CURLOPT_HEADER
curl -D -k -u $JIRAUSER:$JIRAPASS -X GET -H "Content-Type: application/json" https://jira.server.dk/rest/api/2/search?jql=$JIRAFilter > /tmp/issuelist.json
IssueTotal=`cat /tmp/issuelist.json | ./jq-linux64 '.total'`
echo "$TODAY Total: $IssueTotal" >> /opt/jira-cron/jiraMakeCrontab.log
Count=0
for IssueId in `cat /tmp/issuelist.json | ./jq-linux64 '.issues[] .id'`
do
Count=$(($Count + 1))
IssueId=`echo $IssueId | sed "s/\"//g"`
curl -D -k -u $JIRAUSER:$JIRAPASS -X GET -H "Content-Type: application/json" https://jira.server.dk/rest/api/2/issue/$IssueId > /tmp/issue.json
IssueKey=`cat /tmp/issue.json | ./jq-linux64 '.key'| sed "s/\"//g"`
#IssueStatus=`cat /tmp/issue.json | ./jq-linux64 '.fields.status.name'i | sed "s/\"//g"`
cat /tmp/issue.json | ./jq-linux64 '.fields.customfield_12821' | sed "s/\"//g" | sed "s/\\\r//g" | sed "s/\\\n/;/g" | sed "s/\\\t/ /g" > /tmp/cronfield.json
for CronEntry in `cat /tmp/cronfield.json | tr ";" "\n"`
do
echo "$CronEntry $TransitionScript $IssueKey > /dev/null 2>&1" >> /tmp/crontab
echo "$TODAY Added ($Count): $cronEntry $TransitionScript $IssueKey to /tmp/crontab" >> /opt/jira-cron/jiraMakeCrontab.log
done
echo "" >> /tmp/crontab
done
#Replace JIRA Users crontab
if [ ! -f /tmp/crontab ]
then
echo "" > /tmp/crontab
fi
crontab /tmp/crontab |
The final line, making the JIRA crontab, can be extended with an error handler.
...