淺談Python 釘釘報警必備知識系統講解
阿新 • • 發佈:2020-08-19
本章所講內容:
1、釘釘報警設定
2、釘釘報警指令碼執行。
1、釘釘報警設定
釘釘,關於webhook的報警需求,釘釘報警也是我們在公司中常見的報警系統,在這裡主要是結合zabbix二次開發使用,來達到完美報警的使用。
1.1、釘釘報警第一步,建立群機器人
介面地址:
https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493
文件地址:
https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257&articleId=105735&docType=1
1.2傳送信資訊
1.2.1 傳送@所有人的訊息
1、傳送普通的訊息
import requests import json url = 'https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 ' headers = { "Content-Type": "application/json","Chartset": "utf-8" } #要傳送的文字是json格式 request_data = { #此訊息的型別為固定的text "msgtype": "text","text": { #訊息的內容 "content": "大家新年快樂" },"at": { #被@人的手機號 "atMobiles": [],#控制@所有人 "isAtAll": True } } #把json轉變為字串格式資料 send_data = json.dumps(request_data) #這個是傳送post請求,請求釘釘介面 response = requests.post(url=url,headers=headers,data=send_data) #講求成功後返回的資料 content = response.content.decode() #列印 # 課程 vip 標準 # 替換 視訊 print(content)
第二步進行介面開發
2、修改結構,具體操作
import sys import json import requests url = 'https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 ' def WriteLogByDing(content): headers = { "Content-Type": "application/json","Chartset": "utf-8" } request_data = { "msgtype": "text","text": { "content": content },"at": { "atMobiles": [],"isAtAll": True } } sendData = json.dumps(request_data) response = requests.post(url = url,headers = headers,data = sendData) content = response.content.decode() print(content) if __name__ == "__main__": content = input('請輸入想要的資訊') # content = sys.argv[1] WriteLogByDing(content)
1.2.2 傳送帶有連結的文件
import requests import json url = 'https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 ' headers = { "Content-Type": "application/json","Chartset": "utf-8" } #要傳送的文字是json格式 request_data = { #傳送連結型別的資料 "msgtype": "link","link": { #連結提示 "text":"群機器人是釘釘群的高階擴充套件功能。群機器人可以將第三方服務的資訊聚合到群聊中,實現自動化的資訊同步。例如:通過聚合GitHub,GitLab等原始碼管理服務,實現原始碼更新同步;通過聚合Trello,JIRA等專案協調服務,實現專案資訊同步。不僅如此,群機器人支援Webhook協議的自定義接入,支援更多可能性,例如:你可將運維報警提醒通過自定義機器人聚合到釘釘群。",#連結標題 "title": "自定義機器人協議",#圖片url地址 "picUrl": "http://p3.so.qhmsg.com/sdr/200_200_/t013d7a21145c708288.jpg",#資訊的連結跳轉 "messageUrl": "https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1" } } #把json轉變為字串格式資料 send_data = json.dumps(request_data) #這個是傳送post請求,請求釘釘介面 response = requests.post(url=url,data=send_data) #講求成功後返回的資料 content = response.content.decode() #列印 # 課程 vip 標準 # 替換 視訊 print(content)
1.2.3 傳送makedown文件
import requests import json url = 'https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 ' headers = { "Content-Type": "application/json","Chartset": "utf-8" } #要傳送的文字是json格式 request_data = { "msgtype": "markdown","markdown": {"title":"杭州天氣","text":"#### 杭州天氣 \n > 9度, 西北風1級,空氣良89,相對溫度73%\n\n > ![screenshot](http://i01.lw.aliimg.com/media/lALPBbCc1ZhJGIvNAkzNBLA_1200_588.png)\n > ###### 10點20分發布 [天氣](http://www.thinkpage.cn/) " },"at": { "atMobiles": [],"isAtAll":False } } #把json轉變為字串格式資料 send_data = json.dumps(request_data) #這個是傳送post請求,請求釘釘介面 response = requests.post(url=url,data=send_data) #講求成功後返回的資料 content = response.content.decode() #列印 print(content)
#要傳送的文字是json格式 傳送整體跳轉的actionCard型別 request_data = { "actionCard": { "title": "喬布斯 20 年前想打造一間蘋果咖啡廳,而它正是 Apple Store 的前身","text": "![screenshot](@lADOpwk3K80C0M0FoA) \n #### 喬布斯 20 年前想打造的蘋果咖啡廳 \n\n Apple Store 的設計正從原來滿滿的科技感走向生活化,而其生活化的走向其實可以追溯到 20 年前蘋果一個建立咖啡館的計劃","hideAvatar": "0","btnOrientation": "0","singleTitle" : "閱讀全文","singleURL" : "https://www.dingtalk.com/" },"msgtype": "actionCard" }
{ "feedCard": { "links": [ { "title": "時代的火車向前開","messageURL": "https://mp.weixin.qq.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI","picURL": "https://www.dingtalk.com/" },{ "title": "時代的火車向前開2","picURL": "https://www.dingtalk.com/" } ] },"msgtype": "feedCard" }
總結:
1、釘釘報警設定
2、釘釘報警指令碼執行。
到此這篇關於淺談Python 釘釘報警必備知識系統講解的文章就介紹到這了,更多相關Python 釘釘報警內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!