您可以通过事件规则过滤事件,将事件路由到钉钉。本文以自定义事件为例介绍将事件路由到钉钉的前提条件、操作步骤和结果验证。
前提条件
- 开通事件总线EventBridge并授权
- 下载钉钉客户端
- 添加自定义机器人注意 添加机器人时安全设置须选择加签。
背景信息
- text消息
- link消息
- markdown消息
- 整体跳转actionCard类型
- 独立跳转actionCard类型
- feedCard类型
步骤一:添加自定义事件源
- 登录事件总线EventBridge控制台。
- 在左侧导航栏,单击事件总线。
- 在顶部菜单栏,选择地域。
- 在事件总线页面,单击目标总线名称。
- 在左侧导航栏,单击事件源。
- 在事件源页面,单击添加事件源。
- 在添加自定义事件源面板,输入名称和描述,事件提供方选择自定义应用,然后单击确定。
步骤二:创建事件规则
注意 目标服务和事件规则必须处于同一地域。
- 登录事件总线EventBridge控制台。
- 在左侧导航栏,单击事件总线。
- 在顶部菜单栏,选择地域。
- 在事件总线页面,单击目标总线名称。
- 在左侧导航栏,单击事件规则。
- 在事件规则页面,单击创建规则。
- 在创建规则页面,完成以下操作。
- 在配置基本信息配置向导,在名称文本框输入规则名称,在描述文本框输入规则的描述,然后单击下一步。
- 在配置事件模式配置向导,事件源类型选择自定义事件源,事件源选择步骤一添加的自定义事件源,在事件模式内容代码框输入事件模式,然后单击下一步。
如需了解更多信息,请参见事件模式。
- 在配置事件目标配置向导,配置以下事件目标参数,然后单击创建。说明 1个事件规则最多可以添加5个目标。
- 服务类型:单击钉钉。
- 地址:输入钉钉机器人的Webhook地址。
- 密钥:输入钉钉机器人密钥。
- 推送内容:默认为模板。通过自定义变量和模板,将事件按照模板的示例输出。
钉钉机器人规定了其接收的消息类型和数据格式,以下为常用消息类型的变量和模板示例:
- text类型
变量示例:
{ "content": "$.data.content" }
模板示例:
{ "msgtype":"text", "text":{ "content":"${content}@1760514XXXX" }, "at":{ "atMobiles":[ "1760514XXXX", "1898325XXXX" ], "isAtAll":false } }
参数 类型 是否必选 说明 msgtype String 是 消息类型。 text Object 是 text类型的事件内容。 content String 是 消息内容。 at Object 是 at(@)参数内容。 atMobiles Array 否 被at(@)的人的手机号码。 说明 手机号码必须绑定钉钉账号。isAtAll Boolean 否 是否at(@)所有人。 说明 当isAtAll设置为true,钉钉接收事件消息at所有人,此时content中at某个群成员会失效。 - link类型
变量示例:
{ "name": "$.data.name" }
模板示例:
{ "msgtype":"link", "link":{ "text":"这个即将发布的新版本,创始人${name}称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林?", "title":"时代的火车向前开", "picUrl":"", "messageUrl":"www.example.com" } }
参数 类型 是否必选 说明 msgtype String 是 消息类型。 link Object 是 link类型的事件内容。 text String 是 消息内容。 说明 如果消息内容太长,钉钉窗口中只会显示部分内容。title String 是 消息标题。 picUrl String 否 图片URL。 messageUrl String 是 消息URL。 - markdown类型
变量示例:
{ "time":"$.time", "content":"$.data.content" }
模板示例:
{ "msgtype":"markdown", "markdown":{ "title":"杭州天气", "text":"#### 杭州天气 @1760514XXXX \n> ${content}\n> \n> ###### ${time}发布 [天气](www.example.com) \n" }, "at":{ "atMobiles":[ "1760514XXXX" ], "isAtAll":false } }
参数 类型 是否必选 说明 msgtype String 是 消息类型。 markdown Object 是 markdown类型的事件内容。 title String 是 消息标题。 text String 是 消息内容。 at Object 是 at(@)参数内容。 atMobiles Array 否 被at(@)的人的手机号码。 isAtAll Boolean 否 是否at(@)所有人。 说明 当isAtAll设置为true,钉钉接收事件消息at所有人,此时content中at某个群成员会失效。 - 整体跳转actionCard类型
变量示例:
{ "content":"$.data.content" }
模板示例:
{ "msgtype":"actionCard", "actionCard":{ "title":"乔布斯20年前想打造一间苹果咖啡厅,而它正是Apple Store的前身", "text":" \n ### ${content} \n Apple Store的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到20年前苹果一个建立咖啡馆的计划", "btnOrientation":"0", "singleTitle":"阅读全文", "singleURL":"www.example.com" } }
参数 类型 是否必选 说明 msgtype String 是 消息类型。 actionCard Object 是 actionCard类型的事件内容。 title String 是 消息预览框标题。 text String 是 消息内容。 btnOrientation String 否 按钮方向。 取值说明如下:
- 0:垂直排列。
- 1:横向排列。
singleTitle String 是 单个按钮的标题。 singleURL String 是 单击singleTitle触发的URL。 - 独立跳转actionCard类型
变量示例:
{ "content":"$.data.content" }
模板示例:
{ "msgtype":"actionCard", "actionCard":{ "title":"乔布斯20年前想打造一间苹果咖啡厅,而它正是Apple Store的前身", "text":" \n ### ${content} \n Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到20年前苹果一个建立咖啡馆的计划", "btnOrientation":"0", "btns":[ { "title":"内容不错", "actionURL":"www.example.com" }, { "title":"不感兴趣", "actionURL":"www.example.edu" } ] } }
参数 类型 是否必选 说明 msgtype String 是 消息类型。 actionCard Object 是 actionCard类型的事件内容。 title String 是 消息预览框标题。 text String 是 消息内容。 btnOrientation String 否 按钮方向。 取值说明如下:
- 0:垂直排列。
- 1:横向排列。
btns Array 是 按钮。 title String 是 按钮的标题。 actionURL String 是 单击按钮触发的URL。 - feedCard类型
变量示例:
{ "content":"$.data.content" }
模板示例:
{ "msgtype":"feedCard", "feedCard":{ "links":[ { "title":"${content}", "messageURL":"www.example.com", "picURL":"img.example.com/image_04.png" }, { "title":"时代的火车向前开", "messageURL":"www.example.edu", "picURL":"img.example.edu/image_05.png" } ] } }
参数 类型 是否必选 说明 msgtype String 是 消息类型。 feedCard Object 是 feedCard类型的事件内容。 links Array 否 feedCard涉及的链接。 title String 是 消息标题。 messageURL String 是 消息URL。 picURL String 是 图片URL。
更多信息,请参见事件内容转换。
- text类型
步骤三:发布事件
- 登录事件总线EventBridge控制台。
- 在左侧导航栏,单击事件总线。
- 在顶部菜单栏,选择地域。
- 在事件总线页面,找到目标总线,在其右侧操作列单击发布事件。说明 仅自定义事件总线支持通过控制台发布事件。
- 在发布事件至自定义事件总线面板,自定义事件源下拉列表选择已创建的自定义事件源,在事件体代码框输入事件内容,然后单击确定。事件包含的参数规范,请参见事件概述。
结果验证
您可以在钉钉客户端查看钉钉机器人推送的消息。