chore (infra): add notification script

This commit is contained in:
Thomas Bishop 2025-04-23 18:19:04 +01:00
parent 44ab2adb50
commit 21a161ccfc

33
scripts/rocketchat_notifier.sh Executable file
View 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