]>
Commit | Line | Data |
---|---|---|
35d6da78 | 1 | #!/usr/bin/env sh |
2 | ||
3 | #Support feishu webhooks api | |
4 | ||
5 | #required | |
6 | #FEISHU_WEBHOOK="xxxx" | |
7 | ||
8 | #optional | |
9 | #FEISHU_KEYWORD="yyyy" | |
10 | ||
11 | # subject content statusCode | |
12 | feishu_send() { | |
13 | _subject="$1" | |
14 | _content="$2" | |
15 | _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped | |
16 | _debug "_subject" "$_subject" | |
17 | _debug "_content" "$_content" | |
18 | _debug "_statusCode" "$_statusCode" | |
19 | ||
20 | FEISHU_WEBHOOK="${FEISHU_WEBHOOK:-$(_readaccountconf_mutable FEISHU_WEBHOOK)}" | |
21 | if [ -z "$FEISHU_WEBHOOK" ]; then | |
22 | FEISHU_WEBHOOK="" | |
23 | _err "You didn't specify a feishu webhooks FEISHU_WEBHOOK yet." | |
24 | _err "You can get yours from https://www.feishu.cn" | |
25 | return 1 | |
26 | fi | |
27 | _saveaccountconf_mutable FEISHU_WEBHOOK "$FEISHU_WEBHOOK" | |
28 | ||
29 | FEISHU_KEYWORD="${FEISHU_KEYWORD:-$(_readaccountconf_mutable FEISHU_KEYWORD)}" | |
30 | if [ "$FEISHU_KEYWORD" ]; then | |
31 | _saveaccountconf_mutable FEISHU_KEYWORD "$FEISHU_KEYWORD" | |
32 | fi | |
33 | ||
34 | _content=$(echo "$_content" | _json_encode) | |
35 | _subject=$(echo "$_subject" | _json_encode) | |
36 | _data="{\"msg_type\": \"text\", \"content\": {\"text\": \"[$FEISHU_KEYWORD]\n$_subject\n$_content\"}}" | |
37 | ||
38 | response="$(_post "$_data" "$FEISHU_WEBHOOK" "" "POST" "application/json")" | |
39 | ||
40 | if [ "$?" = "0" ] && _contains "$response" "StatusCode\":0"; then | |
41 | _info "feishu webhooks event fired success." | |
42 | return 0 | |
43 | fi | |
44 | ||
45 | _err "feishu webhooks event fired error." | |
46 | _err "$response" | |
47 | return 1 | |
e8756482 | 48 | } |