self-host/scripts/rocketchat_notifier.sh

34 lines
865 B
Bash
Raw Normal View History

2025-04-23 18:19:04 +01:00
#!/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