最近在做一點Jenkins的探索,想把OCLint的結果解析出來用釘釘的形式發送到釘釘群(參考文檔),以便大家接受及時消息。
簡單說一下大概的步驟:
建立一個機器人

按照下一步下一步就行了。
最後:
獲得到一個
webhook
發送消息
其實發送消息十分簡單,官網寫的比較詳細了(官方文檔)。
但是官方的文檔隻有Java和PHP的。
但是。。。。。Java好久不用,PHP不會。。。。。。。
隻能用
python
想辦法,沒有啥樣的執行個體隻能自己動手了:
#!/usr/bin/python
#coding=utf-8
import urllib
import urllib2
import json
import sys
import socket
reload(sys)
sys.setdefaultencoding('utf8')
# 擷取釘釘消息
def extractionMessage() :
#拼接需要發送的消息
return "##### <font color=orange> 釘釘message </font>"
#發送釘釘消息
def sendDingDingMessage(url, data):
req = urllib2.Request(url)
req.add_header("Content-Type", "application/json; charset=utf-8")
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
response = opener.open(req, json.dumps(data))
return response.read()
#主函數
def main():
posturl = "https://oapi.dingtalk.com/robot/send?access_token=????????????????????????????"
data = {"msgtype": "markdown", "markdown": {"text": extractionMessage(),"title":"Jenkins","isAtAll": "false"}}
sendDingDingMessage(posturl, data)
main()
具體解析OCLint的結果XML的代碼和解析log的代碼就不貼了,别忘了 把main()中的posturl換成自己的webhook位址 就OK了。
附上一個結果,這裡用的是
markdown
格式,其他格式參考官方文檔:(官方文檔)。