34 lines
865 B
Bash
34 lines
865 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Send error and success notifications to Rocket Chat channels
|
||
|
|
||
|
# Env vars:
|
||
|
# --- Webhook URLs for given channel, eg $RC_WEBHOOK_TEST
|
||
|
# --- sourced from `.env` file in Zsh path
|
||
|
|
||
|
# Parameters:
|
||
|
# --- $1 = Channel,
|
||
|
# --- $2 = type 'error' | 'success'
|
||
|
# --- $3 = Message
|
||
|
|
||
|
# Usage:
|
||
|
# --- ./rocketchat_notifier.sh test 'success' 'Message goes here.'
|
||
|
# --- ./rocketcaht_notifier.sh test 'error' 'Message goes here.'
|
||
|
|
||
|
declare -A CHANNEL_TO_WEBHOOK
|
||
|
CHANNEL_TO_WEBHOOK["backups"]=$RC_WEBHOOK_BACKUPS
|
||
|
|
||
|
WEBHOOK=${CHANNEL_TO_WEBHOOK[$1]}
|
||
|
|
||
|
if [ "$2" != "error" ]; then
|
||
|
curl -X POST \
|
||
|
-H 'Content-type: application/json' \
|
||
|
--data "{\"text\":\"INFO $3 \"}" \
|
||
|
"$WEBHOOK" >/dev/null 2>&1
|
||
|
else
|
||
|
curl -X POST \
|
||
|
-H 'Content-type: application/json' \
|
||
|
--data "{\"text\":\"ERROR \", \"attachments\": [{\"color\": \"#FF0000\", \"text\": \"$3\"}]}" \
|
||
|
"$WEBHOOK"
|
||
|
fi
|