企业微信应用实现工单通知脚本示例(shell实现)
Linux使用shell实现企业微信应用工单通知和提醒
,比如我们在server/config/application.yml中的配置的通知脚本为/home/sendMsg.sh
#通知脚本绝对路径(若配置脚本,无论是否配置过邮件,都会执行该脚本),可以为空,参考模板:server/template/sendMsg.sh warnScript: bash /home/sendMsg.sh #是否将通知内容转为unicode(针对通知脚本生效),yes是,no否,钉钉微信等通知建议设置为yes,windows部署server需设置为yes,否则接受到会是乱码 warnToUnicode: yes
/home/sendMsg.sh内容如下(记得给脚本赋加可执行权限)
#!/bin/bash # -*- coding: utf-8 -*- ###SCRIPT_NAME:weixin.sh### ###send message from weixin for monitoring### ###leo### content=$1 content=${content//\ /} time3=$(date "+%H:%M:%S") content="$time3,$content" echo "通知信息 : $content" #echo "warn content is : $content" >> ./warn.log CropID='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' Secret='='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F \" '{print $10}') PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body() { local int AppID=1000002 # 企业号中的应用id local UserID='ZhangSan' # 部门成员id,微信接收者,多个接收者用竖杠|隔开 #local PartyID=$2 # 部门id,定义了范围,组内成员都可接收到消息 local Msg="WGCAT工单提醒:$1" Msg=${Msg//\"/} printf '{\n' printf '\t"touser": "'$UserID'",\n' #printf '\t"toparty": "$PartyID",\n' printf '\t"msgtype": "text",\n' printf '\t"agentid": "'$AppID'",\n' printf '\t"text": {\n' printf '\t\t"content": "'$Msg'"\n' printf '\t},\n' printf '\t"safe":"0"\n' printf '}\n' } #body $content curl --data-ascii "$(body $content)" $PURL printf '\n'
以上配置好后,需要重启下server生效