chore (infra): add notification script
This commit is contained in:
parent
44ab2adb50
commit
21a161ccfc
1 changed files with 33 additions and 0 deletions
33
scripts/rocketchat_notifier.sh
Executable file
33
scripts/rocketchat_notifier.sh
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/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
|
Loading…
Add table
Reference in a new issue