今天來看一下如何在Java項目中利用飛書的自定義機器人Webhook向飛書群推送告警通知
一、功能場景
????????企業(yè)存在給特定群組自動推送消息的需求,比如:監(jiān)控報警推送、銷售線索推送、運營內(nèi)容推送等。
???????你可以在群聊中添加一個自定義機器人
,通過服務(wù)端調(diào)用?webhook
?地址,即可將外部系統(tǒng)的通知消息即時推送到群聊中。我們也提供了自定義關(guān)鍵詞、IP白名單和簽名三種維度的安全配置,控制?webhook
?的調(diào)用范圍。
?注意?:
- 你需有一定的服務(wù)端開發(fā)基礎(chǔ),通過請求調(diào)用自定義機器人的webhook地址,實現(xiàn)消息推送功能。
- 自定義機器人添加進(jìn)群后即可使用,不需租戶管理員審核。這提升了開發(fā)機器人的便捷性,但出于租戶數(shù)據(jù)安全考慮,也限制了自定義機器人的使用場景。自定義機器人 不具有 任何數(shù)據(jù)訪問權(quán)限。
二、操作流程
第一步:邀請自定義機器人入群
???????進(jìn)入你的目標(biāo)群組,打開會話設(shè)置,找到群機器人,并點擊添加機器人,選擇自定義機器人加入群聊。
?為你的機器人輸入一個合適的名字和描述,也可以為機器人設(shè)置一個合適的頭像,然后點擊下一步。
第二步:配置 webhook
你會獲取該機器人的 webhook 地址,格式如下:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx
第三步:調(diào)用webhook發(fā)送消息
???????用任意方式向該 webhook 發(fā)起 HTTP POST 請求,即可向這個自定義機器人所在的群聊發(fā)送消息。
注意:
你需要一定的服務(wù)端開發(fā)基礎(chǔ),通過服務(wù)端請求方式調(diào)用webhook地址。
以curl指令為例,請求示例如下:
curl -X POST -H "Content-Type: application/json" \
-d '{"msg_type":"text","content":{"text":"request example"}}' \
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx
你可以把上述指令復(fù)制到 macOS系統(tǒng)的“終端”應(yīng)用(或Windows系統(tǒng)的“控制臺”應(yīng)用)中進(jìn)行測試。
請將上述代碼中 https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx 更換為真實webhook的地址。若測試出錯,請先檢查復(fù)制的指令是否和測試指令結(jié)構(gòu)一致。
如請求成功,返回體為:
{
"Extra": null,
"StatusCode": 0,
"StatusMessage": "success"
}
如請求體格式錯誤,返回體如下。請檢查:
- 請求體內(nèi)容格式是否與各消息類型的示例代碼一致
- 請求體大小不能超過20k
{
"code": 9499,
"msg": "Bad Request",
"data": {}
}
三、Java代碼編寫
群配置好,拿到Webhook的值后,就可以在java代碼里調(diào)用消息推送了
下面貼一下代碼
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
public class SendMessage {
//這里就是剛才拿到的Webhook的值
public static final String WebHookUrl =
"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx";
public static void sendMessage(String msg){
//請求的JSON數(shù)據(jù),這里用map在工具類里轉(zhuǎn)成json格式
Map<String,Object> json=new HashMap();
Map<String,Object> text=new HashMap();
json.put("msg_type", "text");
text.put("text", "項目告警通知:" + msg);
json.put("content", text);
//發(fā)送post請求
String result = HttpRequest.post(WebHookUrl).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
System.out.println(result);
}
}
?測試用例:
@SpringBootTest
public class SendMsgTests {
@Test
public void sendTest() throws IOException {
SendMessage.sendMessage("123");
}
}
點擊運行后,可以看到,剛才創(chuàng)建的飛書群已經(jīng)收到了我們推送的測試消息文章來源:http://www.zghlxwxcb.cn/news/detail-412910.html
參考資料:開發(fā)文檔 - 飛書開放平臺
參考資料:Java項目中利用釘釘機器人Webhook向釘釘群推送告警通知_嗑嗑磕嗑瓜子的貓的博客-CSDN博客_java webhook文章來源地址http://www.zghlxwxcb.cn/news/detail-412910.html
到了這里,關(guān)于Java項目中利用飛書自定義機器人Webhook向飛書群推送告警通知的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!