Jenkins 钉钉 机器人 Python版本
最近在做一点Jenkins的探索,想把OCLint的结果解析出来用钉钉的形式发送到钉钉群(参考文档),以便大家接受及时消息。(python版本)
·
最近在做一点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
格式,其他格式参考官方文档:(官方文档)。
更多推荐
已为社区贡献1条内容
所有评论(0)