Bash Script das per Webhook in Teams notifiziert mit Buttons "Icons" notifizieren
Hallo zusammen,
ich habe ein Script das früher in Slack Server Benachrichtigungen schrieb für Teams im Nagios angepasst
Nun verwendet er immer Icon für Bilder im Slack
Wie mache ich nun hier in dieser Zeile ein Bild von Teams rein ?
Es müssten eben diese Zeilen mit Bild sein. Soe wie Status ok ein grüner Haken !

Gruss
Paul
ich habe ein Script das früher in Slack Server Benachrichtigungen schrieb für Teams im Nagios angepasst
#!/bin/bash
this_dir=$(cd `dirname $0`;pwd)
. $this_dir/teams.conf
#================================
# Functions
#================================
function urlEncode(){
cat | sed -e 's!XXX_OP5_LINK_XXX!'$op5Url'!' | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g'
}
function replaceTags(){
cat | sed -e 's!XXX_OP5_LINK_XXX!'$op5Url'!g' \
-e 's!XXX_HOSTNAME_XXX!'$NAGIOS_HOSTNAME'!g' \
-e 's!XXX_SERVICE_XXX!'"$NAGIOS_SERVICEDISPLAYNAME"'!g' \
-e 's!XXX_SERVICE_OUTPUT_XXX!'"$NAGIOS_SERVICEOUTPUT"'!g'
}
#================================
# MAIN
#================================
if [ -n "$2" ]
then
NAGIOS_SERVICESTATE="$1"
NAGIOS_HOSTNAME="$2"
NAGIOS_SERVICEDISPLAYNAME="$3"
NAGIOS_SERVICEOUTPUT=$( echo "$4" | sed -e 's/!//g')
[ -z "$NAGIOS_SERVICEOUTPUT" ] && NAGIOS_SERVIEOUTPUT="No output"
else
NAGIOS_SERVICESTATE=2
NAGIOS_HOSTNAME=ent-vl002dmz-b
NAGIOS_SERVICEDISPLAYNAME="L0 lnx - Disk usage /opt"
NAGIOS_SERVICEOUTPUT="Arne dase"
SLACK_MESSAGE="Debug (ignore): $1"
fi
case $NAGIOS_SERVICESTATE in
0)
ICON=":white_check_mark:"
curServiceState=OK
;;
1)
ICON=":warning:"
curServiceState=WARNING
;;
2)
ICON=":exclamation:"
curServiceState=CRITICAL
;;
3)
ICON=":question:"
curServiceState=UNKNOWN
;;
*)
ICON=":white_medium_square:"
curServiceState=NOTHING
;;
esac
if [ -n "$4" ]
then
SLACK_MESSAGE="OP5 issue Host: $NAGIOS_HOSTNAME - $NAGIOS_SERVICEDISPLAYNAME - $curServiceState"
fi
#ICON=":white_check_mark:"
if [[ ${SLACK_MESSAGE} =~ "Service check execution time" ]]; then
exit
fi
encodedServiceDisplayName=$(echo -n $NAGIOS_SERVICEDISPLAYNAME | urlEncode)
op5Url="https://${OP5_HOSTNAME}/monitor/index.php/extinfo/details?host=${NAGIOS_HOSTNAME}\&service=${encodedServiceDisplayName}"
[ -n "$debug" ] && cat $this_dir/template.jiraDescription.txt | replaceTags
jiraTicketDescription=$(cat $this_dir/template.jiraDescription.txt | replaceTags | urlEncode)
jiraSummary=$(echo "OP5: $NAGIOS_HOSTNAME - $NAGIOS_SERVICEDISPLAYNAME - $curServiceState" | urlEncode)
for SLACK_URL in $SLACK_URLsEmergency
do
curl -X POST --data "{\"channel\": \"${SLACK_CHANNEL_EMERGENCY}\", \"username\": \"${SLACK_USERNAME}\", \"text\": \"${ICON} ${SLACK_MESSAGE} <https://${op5Host}/monitor/index.php/extinfo/details?host=${NAGIOS_HOSTNAME}|See Nagios> \"}" "$SLACK_URL"
cat<<EOT
EOT
done
Nun verwendet er immer Icon für Bilder im Slack
ICON=":warning:"
Es müssten eben diese Zeilen mit Bild sein. Soe wie Status ok ein grüner Haken !

case $NAGIOS_SERVICESTATE in
0)
ICON=":white_check_mark:"
curServiceState=OK
;;
1)
ICON=":warning:"
curServiceState=WARNING
;;
2)
ICON=":exclamation:"
curServiceState=CRITICAL
;;
3)
ICON=":question:"
curServiceState=UNKNOWN
;;
*)
ICON=":white_medium_square:"
curServiceState=NOTHING
;;
esac
Gruss
Paul
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6575689416
Url: https://administrator.de/forum/bash-script-das-per-webhook-in-teams-notifiziert-mit-buttons-icons-notifizieren-6575689416.html
Ausgedruckt am: 11.05.2025 um 05:05 Uhr
3 Kommentare
Neuester Kommentar