当前位置: 首页>編程日記>正文

webhook机器人php源码,机器人之钉钉机器人webhook 对接 ThinkPHP3.2 实现Bug告警通知...

webhook机器人php源码,机器人之钉钉机器人webhook 对接 ThinkPHP3.2 实现Bug告警通知...

本文主要向大家介绍了机器人之钉钉机器人webhook 对接 ThinkPHP3.2 实现Bug告警通知,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。

前言:

为什么写这篇文章?

原因如下:

项目告警多通过SMS、mail 等方式通知到相应的人员,现在钉钉出了个webhook机器人接入,自定义的机器人支持Post 告警消息到群里,支持更多可能性。

详情可以参考钉钉开发官网文档:

https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Dq3B2b&treeId=257&articleId=105735&docType=1

下面我们来学习下 ThinkPHP3.2中实现 通过钉钉机器人webhook 发送异常信息到 群里。

一、我们新建的第三方类库DingTalk放到Vendor目录下,

在Vendor目录下新建DingTalk目录, 同时在DingTalk目录下新建  Corefunction.php文件(发送异常消息的类文件)和 GetApiData.php文件(钉钉机器人接口公用函数);

Corefunction.php 文件的内容如下:

/* *

* 钉钉机器人接口公用函数

* 详细:该类是请求、通知返回两个文件所调用的公用函数核心处理文件

* 日期:2018-01-16

* 该代码仅供学习使用,只是提供一个参考。

*/

/**

* 远程获取数据,POST模式

* @param $remote_server 机器人对应的Webhook地址

* @param $post_string   发送的内容

* return 远程输出数据

*/

function request_by_curl($remote_server, $post_string) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $remote_server);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

curl_setopt($ch, CURLOPT_HTTPHEADER, array ('Content-Type: application/json;charset=utf-8'));

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 线下环境不用开启curl证书验证, 未调通情况可尝试添加该代码

// curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);

// curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);

$data = curl_exec($ch);

curl_close($ch);

return $data;

}

?>

Corefunction.php 文件的内容如下:

/**

* 类名:GetApiData

* 功能:钉钉机器人webhook接口请求提交类

* 该代码仅供学习使用,只是提供一个参考。

**/

class GetApiData {

protected $files = '';

protected $line = '';

protected $message = '';

protected $trace = '';

public function __construct($files, $line, $messag, $trace){

$this->files   = $files;

$this->line    = $line;

$this->message = $message;

$this->trace   = $trace;

}

public function abnormalRemind()  {

$clientIp = getenv('REMOTE_ADDR');

$all_message = "## 某某项目异常提醒\n\n"

."> clientIp: $clientIp \n\n"

."> file: $this->file \n\n"

."> line: $this->line \n\n"

."> message: $this->message \n\n"

."> trace: $this->trace";

$remote_server = C('DING_TALK_API');     # 从config.php 取 Webhook地址(https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx)

$content = json_encode(markdown('异常提醒', $all_message));

request_by_curl($remote_server , $content);

return true;

}

/* *

* 定义消息类型(markdown)及消息数据

*/

protected function markdown($title, $message){

$data = array (

'msgtype' => 'markdown',

'markdown' => array (

'title' => $title,

'text' => $message

)

);

return $data;

}

二、在ThinkPHP系统内置的异常模板在系统目录的 Tpl/think_exception.tpl 中调用异常类,实现 项目异常消息推送到 钉钉群; 在Tpl/think_exception.tpl 下 加入的代码如下所示:

Vendor('DingTalk.GetApiData');

$file = $e['file'];

$line = $e['line'];

$trace = nl2br($e['trace']);

$message = strip_tags($e['message']);

$msg = new \GetApiData($file, $line, $message, $trace);

$msg->abnormalRemind();

?>

三、异常提醒如下图所示:

小结:

钉钉 webhook机器人可以实现消息推送到钉钉群里 , 自定义机器人支持文本(text)、连接(link)、markdown(markdown)三种消息类型。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能智能机器人频道!


https://www.fengoutiyan.com/post/13496.html

相关文章:

  • 易语言hook模块
  • api源码
  • 机器人
  • 配置webhook机器人
  • webhook
  • 微信群机器人webhook
  • 钉钉机器人交互
  • 钉钉机器人webhook
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機