Python 에서 Sonqube API 를 조작 하여 검사 결 과 를 가 져 오고 프로 세 스 분석 을 인쇄 합 니 다.
1.수요:매번 Sonqube 검사 가 끝 난 후 로그 인 을 해 야 결 과 를 볼 수 있 습 니 다.Jenkins 를 통 해 발표 한 후 bug 와 구멍 수 를 직접 볼 수 없습니다.
2.demo:발표 후 이 항목 의 검 측 결 과 를 간단하게 인쇄 하여 표시 할 수 있 으 며,뒤쪽 에는 못 을 집성 하여 그룹 에 보 낼 수 있 습 니 다.
# -*- coding: UTF-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
'''
@author:jmmei
@file: SonarQubeDingtalk.py
@time: 2019/7
'''
import requests,json,jenkins,os,time,datetime
# jenkins JOB_NAME projectName
projectName=sys.argv[1]
def notification(projectName):
# sonar API
sonar_Url = 'http://www.baidu.com:9000/sonar/api/measures/search?projectKeys='+ projectName +'&metricKeys=alert_status%2Cbugs%2Creliability_rating%2Cvulnerabilities%2Csecurity_rating%2Ccode_smells%2Csqale_rating%2Cduplicated_lines_density%2Ccoverage%2Cncloc%2Cncloc_language_distribution'
resopnse = requests.get(sonar_Url).text
result = json.loads(resopnse)
bug = 0
leak = 0
code_smell = 0
coverage = 0
density = 0
status = ''
statusStr = ''
for item in result['measures']:
if item['metric']=="bugs":
bug = item['value']
elif item['metric']=="vulnerabilities":
leak = item['value']
elif item['metric']=='code_smells':
code_smell = item['value']
elif item['metric']=='coverage':
coverage = item['value']
elif item['metric']=='duplicated_lines_density':
density = item['value']
elif item['metric']=='alert_status':
status = item['value']
else:
pass
if status == 'ERROR':
messageUrl = 'http://www.iconsdb.com/icons/preview/soylent-red/x-mark-3-xxl.png'
statusStr = ' '
elif status == 'OK':
statusStr = ' '
messageUrl = 'http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-check-icon.png'
code_reslut= "Bug :" + bug + " ," + \
" :" + leak + " ," + \
" :"+ code_smell + " ," + \
" :" + coverage + "%," + \
" :" + density + "%"
print(" :"+" :"+ status +","+code_reslut)
if int(bug)>=3:
print("bug , !")
sys.exit(1)
else:
print(" ")
if __name__=="__main__":
#sonarQube
#time.sleep(10)
notification(projectName)
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.