Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
a9c4b8dd
Unverified
Commit
a9c4b8dd
authored
Apr 19, 2020
by
Honza Hommer
Browse files
feat: Microsoft Teams notify
parent
458c0db3
Changes
1
Hide whitespace changes
Inline
Side-by-side
notify/teams.sh
0 → 100644
View file @
a9c4b8dd
#!/usr/bin/env sh
#Support Microsoft Teams webhooks
#TEAMS_WEBHOOK_URL=""
#TEAMS_THEME_COLOR=""
#TEAMS_SUCCESS_COLOR=""
#TEAMS_ERROR_COLOR=""
#TEAMS_SKIP_COLOR=""
teams_send
()
{
_subject
=
"
$1
"
_content
=
"
$2
"
_statusCode
=
"
$3
"
#0: success, 1: error 2($RENEW_SKIP): skipped
_debug
"_statusCode"
"
$_statusCode
"
TEAMS_WEBHOOK_URL
=
"
${
TEAMS_WEBHOOK_URL
:-
$(
_readaccountconf_mutable TEAMS_WEBHOOK_URL
)
}
"
if
[
-z
"
$TEAMS_WEBHOOK_URL
"
]
;
then
TEAMS_WEBHOOK_URL
=
""
_err
"You didn't specify a Microsoft Teams webhook url TEAMS_WEBHOOK_URL yet."
return
1
fi
_saveaccountconf_mutable TEAMS_WEBHOOK_URL
"
$TEAMS_WEBHOOK_URL
"
TEAMS_THEME_COLOR
=
"
${
TEAMS_THEME_COLOR
:-
$(
_readaccountconf_mutable TEAMS_THEME_COLOR
)
}
"
if
[
-n
"
$TEAMS_THEME_COLOR
"
]
;
then
_saveaccountconf_mutable TEAMS_THEME_COLOR
"
$TEAMS_THEME_COLOR
"
fi
TEAMS_SUCCESS_COLOR
=
"
${
TEAMS_SUCCESS_COLOR
:-
$(
_readaccountconf_mutable TEAMS_SUCCESS_COLOR
)
}
"
if
[
-n
"
$TEAMS_SUCCESS_COLOR
"
]
;
then
_saveaccountconf_mutable TEAMS_SUCCESS_COLOR
"
$TEAMS_SUCCESS_COLOR
"
fi
TEAMS_ERROR_COLOR
=
"
${
TEAMS_ERROR_COLOR
:-
$(
_readaccountconf_mutable TEAMS_ERROR_COLOR
)
}
"
if
[
-n
"
$TEAMS_ERROR_COLOR
"
]
;
then
_saveaccountconf_mutable TEAMS_ERROR_COLOR
"
$TEAMS_ERROR_COLOR
"
fi
TEAMS_SKIP_COLOR
=
"
${
TEAMS_SKIP_COLOR
:-
$(
_readaccountconf_mutable TEAMS_SKIP_COLOR
)
}
"
if
[
-n
"
$TEAMS_SKIP_COLOR
"
]
;
then
_saveaccountconf_mutable TEAMS_SKIP_COLOR
"
$TEAMS_SKIP_COLOR
"
fi
export
_H1
=
"Content-Type: application/json"
_subject
=
$(
echo
"
$_subject
"
| _json_encode
)
_content
=
$(
echo
"
$_content
"
| _json_encode
)
case
"
$_statusCode
"
in
0
)
_color
=
"
$TEAMS_SUCCESS_COLOR
"
;;
1
)
_color
=
"
$TEAMS_ERROR_COLOR
"
;;
2
)
_color
=
"
$TEAMS_SKIP_COLOR
"
;;
esac
_color
=
"
$(
echo
"
${
_color
:-
$TEAMS_THEME_COLOR
}
"
|
tr
-cd
'[:xdigit:]'
)
"
_data
=
"{
\"
title
\"
:
\"
$_subject
\"
,"
if
[
-n
"
$_color
"
]
;
then
_data
=
"
$_data
\"
themeColor
\"
:
\"
$_color
\"
, "
fi
_data
=
"
$_data
\"
text
\"
:
\"
$_content
\"
}"
if
_post
"
$_data
"
"
$TEAMS_WEBHOOK_URL
"
;
then
# shellcheck disable=SC2154
if
!
_contains
"
$response
"
error
;
then
_info
"teams send success."
return
0
fi
fi
_err
"teams send error."
_err
"
$response
"
return
1
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment