
#!/bin/sh
# File	: cre_esb_snow_ticket.sh
# By	: Maarten.deBoer@atos.net, 201211
# Subject	: Script to create SNOW-tickets via (NL-)ESB
#(0.2)	: Added request status & ticket-nr
#(0.3),220921	: Added USAGE & some VARs
PGM=`basename $0|cut -d\. -f1`
VER="0.3"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
HOSTNAME=`hostname|cut -d\. -f1` 
CREATE_TICKET=""

IMI_QUEUE="${HOME}/imi2esb/queue"
IMI_UPLOAD="${HOME}/imi2esb/bin/imi_upload.sh"

# For DEV:
#ESBSTAT_URL="https://btndev.sapart.atos-srv.net/ART/esbstat.pl?action=info"
# For PROD:
ESBSTAT_URL="https://btn.sapart.atos-srv.net/ART/esbstat.pl?action=info"
W_SEC=15

# For SNOW
ESB_USER="sdp"
#
ORG="Atos Netherlands"
REQ_TYPE="Incident"
REQ_AREA="Storage;Storage;Other"
GROUP="NL.Storage.FSOD"
SEVNR=3
SUBJECT="TEST ticket"
MESSAGE="This is a TEST ticket to check ${PGM} v${VER}"

#TXTATTACHED=1


USAGE()
{
  echo "Usage: ${PGM} <options>"
  echo "  Version: ${VER}"
  echo "  options          :"
  echo "    -c | --ci      : Ci <CINAME> (${CI})"
  echo "    -g | --group   : Group (${GROUP})"
  echo "    -h | --help    : this help"
  echo "    -m | --msg     : ticket MeSsaGe (${MESSAGE})"
  echo "    -s | --sev     : Severity <nr> (1|2|3) (${SEVNR})"
  echo "    -t | --ticket  : create Ticket"
  echo "    -u | --subject : sUbject (${SUBJECT})"
  echo "    -V             : Version"
  echo "    -x             : set -x"
}

# Check options
if [ ${#} -eq 0 ]; then
  echo "No option(s) given. So not to know what to do. Exiting..."; echo; USAGE;
  exit 1
fi
while [ ${#} -ge 1 ]
  do
  case ${1} in
    -c | --ci) CI=${2}; shift ;;
    -h | --help) USAGE; exit 1 ;;
    -g | --group) GROUP=${2}; shift ;;
    -m) MESSAGE="${2}"; shift ;;
    -u | --subject) SUBJECT="${2}"; shift ;;
    -s) SEVNR=`echo ${2}|grep [123]`; shift ;;
    -t) CREATE_TICKET=1 ;;
    -V) echo "${PGM}: v${VER}"; exit 3 ;;
    -x)  set -x ;;
    *)  echo "Option ${1} not known."; USAGE; exit 1 ;;
  esac
    shift
done


echo "`date` ${PGM} v${VER} started." | tee -a ${LOG}
EXT_REF="${ESB_USER}_`date +%Y%m%d%H%M%S`"
TICKET="${IMI_QUEUE}/${EXT_REF}.imi"
ATTMENT="${IMI_QUEUE}/${EXT_REF}.att.etc-hosts.txt"

CI="${HOSTNAME}-VSR"
if [ "${SEVNR}" = "" ]; then
  SEVNR=3
fi

# Create ticket
echo "@PROXYUSER:${ESB_USER}" > ${TICKET}
echo "@EXTERNALREFERENCE:${EXT_REF}" >> ${TICKET}
echo "@REQUESTTYPE:${REQ_TYPE}" >> ${TICKET}
echo "@SEVERITY:${SEVNR}" >> ${TICKET}
echo "@REQUESTAREA:${REQ_AREA}" >> ${TICKET}
echo "@GROUP:${GROUP}" >> ${TICKET}
echo "@ORGANISATION:${ORG}" >> ${TICKET}
echo "@CI:${CI}" >> ${TICKET}
echo "${SUBJECT} (${EXT_REF})." >> ${TICKET}
echo "" >> ${TICKET}
echo "${MESSAGE}" >> ${TICKET}

if [ ${TXTATTACHED} ]; then
  echo "Test ticket with TXT-attachment " >> ${TICKET}
  cat /etc/hosts >> ${ATTMENT}
fi  # TXTATTACHED

echo "" >> ${TICKET}
echo "EXTERNALREFERENCE=${EXT_REF}" >> ${TICKET}
echo "" >> ${TICKET}
echo "@ENDOFUSDMESSAGE:" >> ${TICKET}

cat ${TICKET}

# Send info to ESB
if [ -x ${IMI_UPLOAD} ]; then
  echo "  Sending info to ESB ..."
  ${IMI_UPLOAD}
fi  # IMI_UPLOAD

echo "  Check status of tickets at ${ESBSTAT_URL}" |cut -d\? -f1

rm ${TMP}
echo "`date` ${PGM} v${VER} finished" | tee -a ${LOG}
exit 0

