V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
atpking
V2EX  ›  分享创造

统一渠道通知系统 pushconfig.com, 任意切换发送通知至钉钉, 飞书, 邮件的工具

  •  
  •   atpking · 2021-08-25 15:16:07 +08:00 · 3280 次点击
    这是一个创建于 1221 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这段时间由于种种原因,公司要求 IM 从钉钉 切换到飞书

    感觉飞书文档啥的确实比钉钉好用, 但是由于之前开发的系统, 大量的嵌入了钉钉机器人, 导致迁移起来非常痛苦,

    于是想寻找一下市场上是否有种产品能通用的发送 钉钉 或者 飞书的, 之后惊奇的发现居然没有这种产品

    程序员的需求程序员满足,

    我们在 https 证书过期通知 www.sslguala.com 的基础上, 搞出了 通用推送通知系统 pushconfig www.pushconfig.com

    pushconfig 作用

    开发人员可以用统一的地址, 统一的格式, 将信息推送到 pushconfig, 之后可以在 pushconfig 上绑定各种通知渠道

    下图是 pushconfig.com 的工作流程

    pushconfig.com 工作流程

    产品特点

    • 统一的发送地址, 统一的参数格式
    • 支持国内常见 通知渠道: 钉钉 飞书 企业微信 bark email webhook (其实就是 sslguala.com 支持的通知渠道)
    • 可以先发送内容, 再决定是否转发到某个接收频道
    • 支持一条内容发送多个接收频道
    • 若想增强转发的内容, 可以修改官方的转发模板(模板采用 liquid 语法)

    具体说明

    可以参见 www.pushconfig.com 使用说明

    技术栈

    • 前端 vue3.2
    • 后端 rails 6.1

    公司已同意日后修改掉部分公司专用服务器代码后开源

    公司其他常用工具类产品

    欢迎大家试用, 有问题或建议欢迎评论交流

    21 条回复    2022-05-03 09:38:51 +08:00
    u21t20o15
        1
    u21t20o15  
       2021-08-25 15:22:44 +08:00
    可以可以,
    之前想做语雀的文章发布通知,结果发现只支持钉钉,飞书做起来会有点麻烦
    现在刚好用到
    atpking
        2
    atpking  
    OP
       2021-08-25 15:33:43 +08:00
    @u21t20o15 欢迎试用哦 有任何使用的问题可以在帖子回复
    u21t20o15
        3
    u21t20o15  
       2021-08-25 15:43:12 +08:00
    刚试了下,语雀配置通知点击测试
    有测试信息到 pushconfig 并且也转发到对应的飞书机器人上
    但是正式使用,发布文档,却没有通知,不知道是语雀的问题还是这边 pushconfig 的问题
    (语雀上已设置文档发布即通知了)
    平台推送地址: https://pushconfig.com/data/c5c33b7b-329e-44b8-862f-4687c7929d63
    dream10201
        4
    dream10201  
       2021-08-25 15:45:13 +08:00
    企业相关,谁敢用
    xiaoqiao24
        5
    xiaoqiao24  
       2021-08-25 16:02:59 +08:00
    坐等大佬开源
    atpking
        6
    atpking  
    OP
       2021-08-25 16:23:39 +08:00
    @dream10201 嗯呐 考虑到这个因素了, 所以会出开源版,docker-compose 部署
    atpking
        7
    atpking  
    OP
       2021-08-25 16:24:09 +08:00
    @u21t20o15 我去试试语雀 调试一下
    guanguans
        8
    guanguans  
       2021-08-25 16:25:24 +08:00
    分享一个多平台通知 SDK( https://github.com/guanguans/notify)。
    u21t20o15
        9
    u21t20o15  
       2021-08-25 16:27:56 +08:00
    @guanguans 404 了兄弟
    guanguans
        10
    guanguans  
       2021-08-25 16:29:39 +08:00   ❤️ 1
    atpking
        11
    atpking  
    OP
       2021-08-25 17:19:25 +08:00
    @u21t20o15
    pushconfig 是支持 发送格式为 钉钉 的格式的

    即 如果你原来发送的是一个钉钉的地址, 则你可以把地址直接替换为 pushconfig 的接受地址 如 https://pushconfig.com/data/x-xxxx/项目名称?tag=数据集分类, 之后哪怕这个地址接受的是个 dingtalk 类型的



    @u21t20o15 我用语雀测试了下, 目前有这几个发现

    1. 语雀 设置如果是 自动 发布, 则不会引起发布的 webhook, 我手动关闭自动发布后, 没招到发布按钮在哪里

    2. 评论会调用 webhook 。

    3. 这里有个语雀确实有个 bug, 即 就算你提交的时候选择的是 钉钉机器人, 但是如果你的 url 不是以 https://oapi.dingtalk.com 开头的钉钉地址, 则他会以 “其他渠道” 的 自己定义的 json 格式发通知

    我用 webhook.site 验证了一下, 发现就算我填写的是 钉钉机器人, 只要地址不符合钉钉机器人的地址, 他也会发送

    ```
    {
    "data": {
    "id": 19121105,
    "user_id": 1712604,
    "parent_id": null,
    "body_html": "....."
    ....
    ```

    至于为何发送测试测试数据的时候没问题, 是因为语雀在测试的时候发送的内容符合 dingtalk 格式 的

    类似这样的自定义 json 格式

    {
    "msgtype": "markdown",
    "markdown": {
    "title": "语雀测试消息",
    "text": "\n#### 这是一段测试内容\n**webhook 名称**: webhooksite \n"
    }
    }



    综上所述 语雀应该是后端没有处理 webhook 是否使用 dingtalk 格式, 而是自行判断的 所以导致了 这里收不到具体的数据






    我们倒是开发了一个 接收 json 并转化 json 格式后转发的一个服务 webhook.ce04.com 利用 custom action 功能, 将收到的内容提取出来 之后再拼接成新的 json 发过去 但是这个工具设置比较麻烦, 应该除了我们自己, 暂时别人都用不明白 😆
    atpking
        12
    atpking  
    OP
       2021-08-25 17:22:04 +08:00
    @guanguans 不错哟, 写 php 的同学应该用的上

    pushconfig.com 的做法是 忽略语言差异, 收请求就好。 再就是 也可以当做收集信息, 不转发数据, 之后每日聚合数据。
    DavZhn
        13
    DavZhn  
       2021-08-25 18:23:43 +08:00
    钉钉 飞书 富文本类型的消息有没有办法通过该平台处理
    atpking
        14
    atpking  
    OP
       2021-08-25 18:30:38 +08:00
    @DavZhn 你可以直接将钉钉的连接地址改成我们的地址 我们收的地址是支持 钉钉 和 飞书 的格式的


    之后再转发出去的时候, 你可以绑定渠道后, 点击绑定的渠道, 打开 高级 选项, 里面有个 模板编辑 你可以对发送的内容渲染模板进行修改
    DavZhn
        15
    DavZhn  
       2021-08-25 18:44:38 +08:00
    @atpking 并没有找到高级在哪里。0.0
    atpking
        16
    atpking  
    OP
       2021-08-25 18:48:53 +08:00
    在数据集里绑定的渠道中,点击那个渠道就看到了

    ![pushconfig 高级设置修改模板]( https://ohiofile.ce04.com/activestoragetest/nnra6sztmt9p8kummkx8q4mygejr)
    DavZhn
        17
    DavZhn  
       2021-08-25 18:50:57 +08:00
    看到了,没想到这里可以点击进去。hhh.
    DavZhn
        18
    DavZhn  
       2021-08-25 18:59:33 +08:00
    反馈一个 BUG,微信登录,退出再微信登录,账号里边的内容都看不到了。
    atpking
        19
    atpking  
    OP
       2021-08-26 10:07:19 +08:00
    @DavZhn 行 我们看下这个问题
    easychen
        20
    easychen  
       2021-08-29 09:48:51 +08:00
    「于是想寻找一下市场上是否有种产品能通用的发送 钉钉 或者 飞书的, 之后惊奇的发现居然没有这种产品」其实是有的…… sct.ftqq.com 不过不支持多发
    tsvico
        21
    tsvico  
       2022-05-03 09:38:51 +08:00
    现在开源了吗,访问网站 404 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   910 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:18 · PVG 06:18 · LAX 14:18 · JFK 17:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.