最近在做一点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格式,其他格式参考官方文档:(官方文档)。


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐