sonnar 執行測試併發送報告到釘釘
阿新 • • 發佈:2020-07-24
#coding=utf8 import requests import json import os from requests.auth import HTTPBasicAuth import ssl ssl._create_default_https_context = ssl._create_unverified_context requests.packages.urllib3.disable_warnings() prod_name=os.environ['prod_name'] def get_datas(): global prod_name result={} server_ip='XXXXXX' res=requests.get(url=(server_ip+'/api/measures/component?componentKey='+prod_name+'&metricKeys=alert_status,bugs,reliability_rating,vulnerabilities,security_rating,code_smells,sqale_rating,duplicated_lines_density,coverage,ncloc,ncloc_language_distribution'),auth=HTTPBasicAuth("admin","Uyunsoft@321")) res=json.loads(res.text)['component']['measures'] for i in res: result.update({i['metric']:i['value']}) return result def send_msg(msg): global prod_name token='XXXXXXXXx' url = 'http://oapi.dingtalk.com/robot/send?access_token='+token headers = { 'Content-Type': 'application/json;charset=utf-8' } msg='bug:{},漏洞:{},壞味道:{},覆蓋率:{},重複:{},狀態:{}'.\ format(msg['bugs'],msg['vulnerabilities'],msg['code_smells'],msg['coverage'],msg['duplicated_lines_density'],msg['alert_status']) msg_url="XXXXXXXXX/dashboard?id="+prod_name title=prod_name+"程式碼質量報告" formdata = { "msgtype": "markdown", "markdown": { "title":prod_name+"程式碼質量報告", "text": '## {}\n'.format(title)+str(msg)+'\n[檢視報告]({})'.format(msg_url) } } print(formdata) res = requests.post(url=url, data=json.dumps(formdata), headers=headers, proxies={"http": "http://XXXXXXXXXX:8088"},verify=False) print(res.text) result=get_datas() send_msg(result) print result