12_机器人通知

一、介绍

  1. 使用机器人通知功能,可直接在平台中快速查看自动化测试结果
  2. 根据使用平台来看,目前个人自动化项目兼容了企微(wecom)和飞书(lark)两种平台的机器人通知

二、企微

企微的机器人是某个群组被添加之后,创建者可以在机器人详情页看到该机器人特有的webhookurl。可以向该webhookurl发起HTTP POST 请求,即可实现给该群组发送消息

1. 自定义机器人

支持推送的消息格式有文本(text)、markdown(markdown、markdown_v2)、图片(image)、图文(news)、文件(file)、语音(voice)、模板卡片(template_card)八种消息类型

具体请参考:群机器人配置说明

1.1 优化

  1. 当通过企微消息的超链接访问服务器上的文件时,可通过SMB实现

具体请参考:ubuntu设置smb

  1. 设置完成之后,服务器上的文件地址即为file://${ip}/vmshare/test_data/complete.html
    注意:
    1.samba配置文件中除path路径修改外,其他保持不变
    2.${ip}为服务器地址,vmshare为samba配置文件中secion名,test_data/complete.html为complete.html文件在samba配置文件中path目录的相对路径

三、飞书

对比企微,飞书有两种机器人模式,一种是自定义机器人,一种是应用机器人

1. 自定义机器人

  1. 自定义机器人是一种只能在当前群聊中使用的机器人。该类机器人无需经过租户管理员审核,即可在当前群聊中通过调用 webhook 地址的方式完成消息推送
  2. 向自定义机器人 webhook 地址发送 POST 请求时,支持推送的消息格式有文本、富文本、图片消息以及群名片(自定义机器在任一群的群设置添加)

具体请参考:自定义机器人使用指南

2. 应用机器人(2026年6月30日下线)

上述自定义机器人和企微的自定义机器人用法基本一致,每个群都可以添加一个自定义机器人,且每个机器人的url各不相同,通过url来区分消息发到哪个机器人
注意:发送到飞书自定义机器人的文本内容不支持markdown语法

2.1 创建

  1. 应用机器人其实也需要手动创建,只是创建的入口不在群聊,而是在飞书机器人助手
  2. 创建流程,设置Webhook触发和发送飞书消息

  3. Webhook触发设置
    • 仿照自定义机器人机制,向应用机器人发送消息。其中包含请求url和请求体内容,且请求体内容可以随意设置
  4. 发送飞书消息设置
    • 设置消息发送到哪一对象
    • 设置消息中哪些内容发送到对象


      注意:上述Webhook的内容来源于第一步中Webhook触发设置的请求体内容,且内容支持markdown语法
  5. 设置不同条件分支,通过请求体内容判断满足哪一分支,即把消息发到指定群

具体请参考:飞书机器人助手快速入门

2.2 优化(其他机器人通用)

飞书应用机器人的超链接目前仅支持 https、http 协议头。当访问服务器上的文件时,则使用Nginx配置静态文件服务器

  1. 安装 Nginx
sudo apt update
sudo apt install nginx
  1. 配置 Nginx
    • 在配置文件中添加或修改内容
sudo vim /etc/nginx/sites-available/default


注意:每一项新增配置最后,都要以 ;结尾

  1. 重启 Nginx
    • 保存配置文件后,重启 Nginx 使配置生效
sudo systemctl restart nginx
  1. 访问特定文件
    • 如果某一文件的路径为${path}/test_data/report.html,则可以通过以下URL直接访问该文件:
http://${ip}/test_data/report.html

注意:${ip}为nginx配置文件中sever_name后面的地址,${path}为nginx配置文件中root后面的路径

3. 飞书集成平台

3.1 背景

  1. 飞书机器人助手,2026-06-30 起下线,流程编排入口不可用
  2. 原机器人应用,仍在飞书开放平台存在,群内头像/名称不变
    注意:下线的是助手编排界面,不是机器人本身。集成平台通过原应用的 App ID / App Secret发消息,群里仍是同一个 bot

3.2 使用

3.2.1 总体架构

推荐节点顺序:

网址触发器 → 动态脚本 → 分支 → 发送消息卡片(×N)
  • 网址触发器:接收 CI / 测试服务 POST 的 JSON
  • 动态脚本:把 Webhook 字段组装成飞书卡片 JSON 字符串
  • 分支:按 robot(或业务字段)路由到不同群
  • 发送消息卡片:以原机器人身份发到对应 chat_id 群

3.2.2 前置准备

3.2.2.1 获取原机器人 App ID / App Secret
  1. 打开飞书开放平台 → 开发者后台
  2. 选择任一应用,进入应用详情,获取详情页面对应的 URL
    注意:如果没有任何应用,直接使用https://open.feishu.cn/app/cli_xxx/baseinfo
  3. 使用浏览器访问原机器人应用,浏览器的地址中会包含该机器人的 App ID
  4. 把上述获的 App ID 替换到 URL 中
  5. 访问替换后的 URL,再获取 App Secret

3.2.3 工作流配置步骤

3.2.3.1 新建工作流
  1. 打开飞书集成平台 AnyCross
  2. 新建工作流(示例名称:自动化消息 / 消息推送)
  3. 保存后 发布 / 启用(未发布时 Webhook 可能返回 not found)
3.2.3.2 新建网址触发器

新建网址触发器:

首次获取出参:

  1. 用 curl 向 Webhook POST 一次示例 JSON
curl -X POST "https://open.feishu.cn/anycross/trigger/callback/你的回调ID" \
  -H "Content-Type: application/json" \
  -d '{
    "robot": 3,
    "msg_type": "markdown",
    "content": {
      "markdown": "**<font color=blue>测试</font>**"
    }
  }'
  1. 触发器 → 测试 → 获取数据并预览,点击 应用为出参

出参字段路径(供后续引用):

字段 路径
路由字段 body.robot
报告正文 body.content.markdown
3.2.3.3 动态脚本

集成平台不支持在卡片 JSON 里手写 {{webhook-trigger-1.xxx}} 自动替换,需用脚本生成卡片字符串
添加入参:

属性名 绑定变量
markdown 网址触发器 → body → content → markdown
robot 网址触发器 → body → robot



注意:添加入参时,可形象引用网址触发器的出参

编写代码:

function handler(input) {
  const md = input.markdown;
  const rb = input.robot;
  const card = {
    config: {
      wide_screen_mode: true,
    },
    elements: [
      {
        tag: 'div',
        text: {
          tag: 'lark_md',
          content: md,
        },
      },
    ],
  };
  return JSON.stringify(card);
}

注意:
1.变量来自入参中的变量,卡片内容来自下文的卡片消息格式
2.出参就是整个函数的返回结果,即JSON.stringify(card)

3.2.3.4 分支
分支 条件 发送节点 目标群(示例)
分支 1 script-1.robot 等于 1 im-1 自动化消息群
分支 2 script-1.robot 等于 2 im-2 质量部群
分支 3 script-1.robot 等于 3 im-3 机器人测试群
默认 兜底 可选 默认群或不发

设置条件:



注意:添加对比参数时,也可形象引用网址触发器的出参

3.2.3.5 发送消息卡片
配置项 值
连接 / 应用凭证 原机器人 App 凭证
接收者 ID 类型 chat_id
接收者 选择对应群(机器人须在群内)
卡片 content 仅绑定 script-1.card_json(插入变量,表达式模式)

注意:测试报告需红/绿/蓝/黄着色时,必须发送卡片消息,因为 post 富文本 + md 显示后不带有颜色,具体可参考:卡片JSON构建卡片

配置凭证:

配置入参(实际是发送对象+发送内容):


注意:配置发送内容时,可形象引用动态脚本的出参

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容