3 #Support Microsoft Teams webhooks
7 #TEAMS_SUCCESS_COLOR=""
14 _statusCode
="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
15 _debug
"_statusCode" "$_statusCode"
17 TEAMS_WEBHOOK_URL
="${TEAMS_WEBHOOK_URL:-$(_readaccountconf_mutable TEAMS_WEBHOOK_URL)}"
18 if [ -z "$TEAMS_WEBHOOK_URL" ]; then
20 _err
"You didn't specify a Microsoft Teams webhook url TEAMS_WEBHOOK_URL yet."
23 _saveaccountconf_mutable TEAMS_WEBHOOK_URL
"$TEAMS_WEBHOOK_URL"
25 TEAMS_THEME_COLOR
="${TEAMS_THEME_COLOR:-$(_readaccountconf_mutable TEAMS_THEME_COLOR)}"
26 if [ -n "$TEAMS_THEME_COLOR" ]; then
27 _saveaccountconf_mutable TEAMS_THEME_COLOR
"$TEAMS_THEME_COLOR"
30 TEAMS_SUCCESS_COLOR
="${TEAMS_SUCCESS_COLOR:-$(_readaccountconf_mutable TEAMS_SUCCESS_COLOR)}"
31 if [ -n "$TEAMS_SUCCESS_COLOR" ]; then
32 _saveaccountconf_mutable TEAMS_SUCCESS_COLOR
"$TEAMS_SUCCESS_COLOR"
35 TEAMS_ERROR_COLOR
="${TEAMS_ERROR_COLOR:-$(_readaccountconf_mutable TEAMS_ERROR_COLOR)}"
36 if [ -n "$TEAMS_ERROR_COLOR" ]; then
37 _saveaccountconf_mutable TEAMS_ERROR_COLOR
"$TEAMS_ERROR_COLOR"
40 TEAMS_SKIP_COLOR
="${TEAMS_SKIP_COLOR:-$(_readaccountconf_mutable TEAMS_SKIP_COLOR)}"
41 if [ -n "$TEAMS_SKIP_COLOR" ]; then
42 _saveaccountconf_mutable TEAMS_SKIP_COLOR
"$TEAMS_SKIP_COLOR"
45 export _H1
="Content-Type: application/json"
47 _subject
=$
(echo "$_subject" | _json_encode
)
48 _content
=$
(echo "$_content" | _json_encode
)
50 case "$_statusCode" in
52 _color
="$TEAMS_SUCCESS_COLOR"
55 _color
="$TEAMS_ERROR_COLOR"
58 _color
="$TEAMS_SKIP_COLOR"
61 _color
="$(echo "${_color:-$TEAMS_THEME_COLOR}" | tr -cd 'a-fA-F0-9')"
63 _data
="{\"title\": \"$_subject\","
64 if [ -n "$_color" ]; then
65 _data
="$_data\"themeColor\": \"$_color\", "
67 _data
="$_data\"text\": \"$_content\"}"
69 if _post
"$_data" "$TEAMS_WEBHOOK_URL"; then
70 # shellcheck disable=SC2154
71 if ! _contains
"$response" error
; then
72 _info
"teams send success."
76 _err
"teams send error."