40 lines
1.0 KiB
Bash
40 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
function usage {
|
|
programName=$0
|
|
echo "description: use this program to post messages to Rocket.chat channel"
|
|
echo "usage: $programName [-b \"message body\"] [-u \"rocket.chat url\"]"
|
|
echo " -b The message body"
|
|
echo " -u The rocket.chat hook url to post to"
|
|
exit 1
|
|
}
|
|
while getopts ":b:u:h" opt; do
|
|
case ${opt} in
|
|
u) rocketUrl="$OPTARG"
|
|
;;
|
|
b) msgBody="$OPTARG"
|
|
;;
|
|
h) usage
|
|
;;
|
|
\?) echo "Invalid option -$OPTARG" >&2
|
|
;;
|
|
esac
|
|
done
|
|
if [[ ! "${rocketUrl}" || ! "${msgBody}" ]]; then
|
|
echo "all arguments are required"
|
|
usage
|
|
fi
|
|
read -d '' payLoad << EOF
|
|
{"text": "${msgBody}"}
|
|
EOF
|
|
echo $payLoad
|
|
statusCode=$(curl \
|
|
--insecure \
|
|
--write-out %{http_code} \
|
|
--silent \
|
|
--output /dev/null \
|
|
-X POST \
|
|
-H 'Content-type: application/json' \
|
|
--data "${payLoad}" ${rocketUrl})
|
|
echo ${statusCode}
|