持续集成之钉钉消息推送:1:群机器人使用方法介绍
发布日期:2021-06-30 20:16:12 浏览次数:2 分类:技术文章

本文共 1953 字,大约阅读时间需要 6 分钟。

在这里插入图片描述

钉钉也提供机器人,使用方法和企业微信虽然略有不同,但是最为简单的消息推送的使用方法大体类似,钉钉的机器人也是使用webhook接口用于消息的推送,非常适合将持续集成中的实时状态进行信息的共享,这篇文章介绍一下使用的具体方法。

添加机器人

相较于企业微信可以在群内创建一个或者多个机器人,现在钉钉的做法是在用户顶层上提供机器人管理的页面,点击个人头像,选择Robot Management选项

在这里插入图片描述
钉钉可以添加很多种类的机器人,这里选择Custom,通过webhook方式发送自定义消息
在这里插入图片描述
点击Add按钮
在这里插入图片描述
设定机器人名称,与群进行关联,并设定其他信息,与企业微信在群里创建有所不同,目前钉钉是整体对机器人进行管理然后与群进行关联。
在这里插入图片描述
为了避免被盗用乱发群短信,钉钉的自定义方式的机器人在使用上,有三种安全策略必选其一:

  • Custom Keywords:包含特定内容的消息才能发送
  • Additional Signature:签名
  • IP Address:IP地址白名单(与企业微信的群机器人中的白名单类似)

这里为了简单演示选择Custom Keywords,并输入LiuMiaoMsg作为特定内容。

在这里插入图片描述
然后就创建了此群机器人,此时就可以获得webhook的地址了。
在这里插入图片描述
点击Finished按钮,在关联的群中即可看到此关联的机器人了
在这里插入图片描述

使用方法

创建此群聊机器人后,就可以直接使用Restful API以Json的格式进行消息的推送了。以curl命令为例,使用如下示例脚本即可进行验证

liumiaocn:robot liumiao$ cat demo_message_send.sh #!/bin/shCHAT_WEBHOOK_URL='https://oapi.dingtalk.com/robot/send?access_token'CHAT_CONTENT_TYPE='Content-Type: application/json'echo "## demo: text: print hello liumiao"curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \   -H "${CHAT_CONTENT_TYPE}" \   -d '   {        "msgtype": "text",        "text": {            "content": "[LiuMiaoMsg]: hello liumiao"        }   }' 2>/dev/null |jq .liumiaocn:robot liumiao$

执行结果确认

liumiaocn:robot liumiao$ export CHAT_WEBHOOK_KEY=your_own_webhook_token_infoliumiaocn:robot liumiao$ sh demo_message_send.sh ## demo: text: print hello liumiao{
"errcode": 0, "errmsg": "ok"}liumiaocn:robot liumiao$

注:your_own_webhook_token_info使用自己的token信息进行替换

然后就可以看到推送的钉钉的消息内容了
在这里插入图片描述

注意的是钉钉在使用的时候消息发送的安全策略作为必须条件,本文示例中使用的方式是包含特定内容的方式,所以在发送的消息中必须包含此内容才可以,不然会提示类似如下的错误信息:

{
"errcode": 310000, "errmsg": "keywords not in content"}

如果选择其他的安全防护方式,没有满足条件时,返回的错误信息可能如下所示

// timestamp 无效{
"errcode":310000, "errmsg":"invalid timestamp"}// 签名不匹配{
"errcode":310000, "errmsg":"sign not match"}// IP地址不在白名单{
"errcode":310000, "errmsg":"ip X.X.X.X not in whitelist"}

总结

企业微信的目前提供的机器人有三个特点,其一是虽然不依托与群而存在,但是也同样需要和群进行关联而进行消息推送,其二是直接将token作为URL中的一项参数传入,但是需要其他的安全设定比如包含特定内容、签名或者白名单,三是需要联网。

参考内容

https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

转载地址:https://liumiaocn.blog.csdn.net/article/details/103740826 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:持续集成之钉钉消息推送:2:推送消息格式说明
下一篇:持续集成之企业微信通知:4:推送消息示例(image)

发表评论

最新留言

很好
[***.229.124.182]2024年04月23日 13时31分28秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章