您的位置:首页 > 运维架构 > Shell

SHELL 调用钉钉机器人

2019-04-22 17:11 3579 查看


1.运维和钉钉机器人背景;

现在企业面向工具化钉钉提供了人性化智能化的优质服务,运维过程中难免会出现各种报警渠道接入门槛比较高,需要各种封装接口或者封装sdk,由此引出钉钉报警,运维人员shell 脚本基本大众化,都能按照自己的需求进行开发;


2.钉钉自定义机器人(webhook)

  (1).在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成Hook地址,如下图:

   


  • 点击“复制”按钮,即可获得这个机器人对应的Webhook地址,其格式如下:生成 access_token 认证唯一标识,每一个自定义机器人都不一样;

https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx

(3).使用自定义机器人

获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。注意,发起POST请求时,必须将字符集编码设置成UTF-8。

当前自定义机器人支持文本 (text)、连接 (link)、markdown markdown)、ActionCard、FeedCard消息类型**,大家可以根据自己的使用场景选择合适的消息类型,达到最好的展示样式。

自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒(免打扰会话仍然通知提醒,首屏出现“有人@你”)。

当前机器人尚不支持应答机制 (该机制指的是群里成员在聊天@机器人的时候,钉钉回调指定的服务地址,即Outgoing机器人)。



(4).测试自定义机器人

通过下面方法,可以快速验证自定义机器人是否可以正常工作:

Linux 使用命令行工具curl

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text", 
        "text": {
             "content": "我就是我, 是不一样的烟火"
        }
      }'

(5).查看自定义机器人发送结果; (因为我测试调用两次所以出现)




(6).测试消息类型及数据格式;


{    
"msgtype": "text", 
    "text": {        "content": "我就是我, 是不一样的烟火@156xxxx8827"
    }, 
    "at": {  
             "atMobiles": [            
             "156xxxx8827", 
             "189xxxx8325"
        ], 
        "isAtAll": false
    }
}

linux 测试方法 curl 进行测试命令;

curl 'https://oapi.dingtalk.com/robot/send?access_token=你的token'  -H "Content-Type:application/json"  -d "{\"msgtype\": \"text\", 
    \"text\": {
        \"content\": \"服务器异常,请快速处理下\"
    }, 
    \"at\": {
        \"atMobiles\": [
            \"183xxx50xx\", 
        ], 
        \"isAtAll\": false
    }
}"


钉钉结果如下;(标红部分为钉钉机器人群的名称)






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: