目录

一、创建飞书群

二、添加群机器人

三、飞书机器人发送消息

1、生成签名

 2、消息初始化

3、消息推送


一、创建飞书群

创建一个飞书群,将相关的人员拉到群里。

二、添加群机器人

在群设置中找到,群机器人设置,添加机器人。

记录飞书机器人的Webhook 地址,并开启签名校验,记录校验key。

到这里准备工作完成了。

三、飞书机器人发送消息

下面是一个简单文本消息通知例子。

1、生成签名

private static String genSign(String secret, int timestamp) throws NoSuchAlgorithmException, InvalidKeyException {
    //把timestamp+"\n"+密钥当做签名字符串
    String stringToSign = timestamp + "\n" + secret;
    //使用HmacSHA256算法计算签名
    Mac mac = Mac.getInstance("HmacSHA256");
    mac.init(new SecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8), "HmacSHA256"));
    byte[] signData = mac.doFinal(new byte[]{});
    return new String(Base64.encodeBase64(signData));
}

 2、消息初始化

private static JSONObject buildBody(String msg, String signKey) {
    JSONObject jsonObject = new JSONObject();
    int timeMillis = (int) (System.currentTimeMillis() / 1000);
    jsonObject.set("timestamp", timeMillis);
    jsonObject.set("msg_type", "text");
    try {
        jsonObject.set("sign", genSign(signKey, timeMillis));
    } catch (Exception e) {
        throw new BusinessException(e);
    }
    JSONObject con = new JSONObject();
    con.set("text", msg);
    jsonObject.set("content", con);
    return jsonObject;
}

3、消息推送

public void sendFailTextMsg(String msg) {
    // Webhook 地址 (设置你自己群机器人配置)
    String url = "https://open.feishu.cn/open-apis/bot/v2/hook/XXXXXXX-XXXXX-XXXXX-XXXXX-XXXXXXX";
    // sign_key(设置你自己群机器人配置)
    String key = "XXXXXXXXXXXXXXXXXX";
    if (CharSequenceUtil.isBlank(url)) {
        return;
    }
    HttpUtil.post(url, buildBody(msg, key).toString());
}

大功告成,非常简单好用的飞书群机器人告警。项目中的某些关键功能,可以添加告警机器人,实时关注。也可以对接一些系统监控平台,对接简单方便。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐