首页 > 其他分享 >将sonaruqbe中配置所有项目的阻断严重级别的违规导出cvs文件中,对TOP问题形成解决方案

将sonaruqbe中配置所有项目的阻断严重级别的违规导出cvs文件中,对TOP问题形成解决方案

时间:2024-06-18 17:11:25浏览次数:13  
标签:TOP cvs project sonar print sonaruqbe issue response issues

1.遇到问题

1-1.导出cvs文件乱码,解决办法:通过设置pycharm的文件编码为UTF-8

1-2.sonarqube提供的API接口,默认只展示第一页的100条数据,解决办法:经过测试,API接口每页最多展示500条数据,只支持20页展示,所以要对URL加参数细化结果,再通过翻页获取全部的数据,具体实现如下所示

2.最终生成的脚本

import csv
import json
import os
import requests

#SonarQube服务器的URL
sonar_url = "http://0.0.0.0:9000"
# SonarQube的用户凭证
sonar_login = "test"
sonar_password = "test@@111"

#项目键的列表
project_keys = ["matrix-platform","matrix-portal","Busi-data-platform","AICS_backend","AICS_frontend","CTC-OCR","drmp-frontend","drmp-backend","newcrm-sichuan","acct-cloud","rcsvue-zhejiang","rcsboot-zhejiang","so-app-sichuan","so-service-sichuan","ctc-trinitymis-app-repository","so-app-hebei","so-service-hebei"]
# 获取令牌
auth = (sonar_login, sonar_password)

# 设置CSV文件路径,没有路径则存储在对应项目的文件夹下
csv_file_path = "top_violations_report.csv"
n=0
# 打开CSV文件
with open(csv_file_path, 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Project', 'type', 'Severity', 'Path', 'message'])
headers = {'Accept-Charset': 'utf-8'} # 指明接受的字符集
for project_key in project_keys:
a=0
# 获取项目的所有违规
url = f"{sonar_url}/api/issues/search?componentKeys={project_key}&severities=BLOCKER,CRITICAL"
response = requests.get(url, auth=auth,headers=headers)
print("总阻断严重违规数量:", response.json()['total'])
flag = int(response.json()['total']/500)+1
print("页码总数为:",flag)
# 因为sonarqube的API接口每页只能放500条,一共只能展示20页。所以结果要加具体的参数,并进行翻页才能获取所有的结果
for i in range(1,flag+1):
params = {
'p': i,
'ps': 500
}
response = requests.get(url, auth=auth, headers=headers,params=params)
issues = response.json()['issues']
#print("issues", issues)
for issue in issues:
writer.writerow([
project_key,
issue['type'],
issue['severity'],
issue['component'],
issue['message']
])
n=n+1
a=a+1
print("完成第",i,"页共",a,"条写入")
print(project_key,":阻断严重违规总条数:", n)
print("阻断严重违规总条数:", n)

3.执行效果和导出文件效果


标签:TOP,cvs,project,sonar,print,sonaruqbe,issue,response,issues
From: https://www.cnblogs.com/candylihl/p/18254678

相关文章

  • Flink1.17.0-报错: java.lang.NoSuchMethodError: org.apache.kafka.clients.admin.De
    背景:启动Flink的sql-client.sh,创建Kafka的source端表,然后查询Kafka的数据时报错。报错信息:2024-06-1816:10:12org.apache.flink.util.FlinkException:GlobalfailuretriggeredbyOperatorCoordinatorfor'Source:kafka_rmc_cust_analog_u[1]'(operatorbc764cd8ddf7a0c......
  • OceanBase中OCP平台显示的TOPSQL模块是如何查询出来的
    说明:oba脚本通过变量的方式直接实现以下三个查询,如手工查询需要分别执行SQL获取对应的变量信息1.server_id检查方式selecta.idserver_id,a.svr_ip,a.zone,b.primary_zone,b.tenant_namefrom__all_servera,__all_tenantbwheretenant_id=1001orderby3;2.计算总cpu--这......
  • unitydoorstop 随拾
    From 有点好奇MOD是怎么制作的178 首先,中文教程在这里https://www.bilibili.com/read/cv8997376但更建议使用英文教程,因为中文教程作者大概已经好久不更新了,想提issue的话,还是找github的0Harmony的作者比较好。---很久很久之前,我们是使用UMM(全称懒得拼)管理mod的,这玩意会强......
  • Parallels DeskTop 19软件最新版下载【安装详细图文教程】
    ParallelsDesktop是一款专为Mac设计的虚拟机软件,它允许用户在Mac上同时运行Windows、Linux等多个操作系统,而无需额外的硬件设备。通过ParallelsDesktop,Mac用户可以轻松地在同一台电脑上体验不同操作系统的功能和应用程序。​安装包获取地址:ParallelsDesktopfor......
  • linux环境 kafka3.4.0 刚搭建好(用kraft替代zookeeper) 怎么建个topic测试一下消费有没
        在使用Kafka3.4.0并且用Kraft(KafkaRaft)替代Zookeeper的情况下,步骤会有一些变化。这是因为Kraft模式下Kafka自身管理元数据,而不再依赖Zookeeper。以下是使用Kraft模式的Kafka3.4.0创建topic并进行生产和消费测试的具体步骤:###1.**启动Kaf......
  • C# OpenCvSharp Mat操作-操作符重载
    在C#中使用OpenCvSharp进行图像处理时,操作符重载可以使代码更加简洁和直观。下面是对每个操作符的详细解释及示例代码。“+”运算符作用或原理:+运算符可以在Mat与Mat之间进行,也可以在Mat和一个数字之间进行加运算。使用加运算可以改变图像亮度,也可以实现两幅图像......
  • pdf增强插件:Enfocus PitStop Pro 2022 for Mac 激活版
    EnfocusPitStopPro2022是一款功能强大的PDF校对和编辑软件,旨在帮助专业用户对PDF文件进行精确的预检和校对。该软件可以无缝集成到AdobeAcrobat等常用的PDF编辑工具中,提供了一系列全面的预检和编辑功能,以确保PDF文件符合印刷和出版行业的标准和规范。下载......
  • pythonocc基础:OCC.Core.TopAbs 类简介
    在PythonOCC库中,OCC.Core.TopAbs模块定义了一系列枚举类型,这些枚举类型代表了拓扑形状的不同类别(Topology)。这些类别是构建和操作三维几何模型的基础,特别是在处理布尔运算、几何约束、参数化设计等复杂任务时。TopAbs类提供了统一的接口来识别和区分不同的拓扑元素,是OpenCASCAD......
  • 无线通信SCI期刊,中科院一区TOP,IF=12.9,专业性强,文章质量高
    一、期刊名称IEEEWirelessCommunications二、期刊简介概况期刊类型:SCI学科领域:无线通信影响因子:12.9中科院分区:1区TOP三、期刊征稿范围IEEE无线通信是为在通信和网络社区工作的个人设计的。它涵盖了与所有媒体(以及媒体组合)和所有协议层的个性化、位置独立通信相......
  • 能源SCI期刊,中科院1区TOP,IF=8.7,审稿速度快,对国人非常友好
    一、期刊名称RenewableEnergy二、期刊简介概况期刊类型:SCI学科领域:能源影响因子:8.7中科院分区:1区TOP三、期刊征稿范围《可再生能源》杂志旨在促进和传播有关可再生能源系统和组件的各种主题和技术的知识。该杂志旨在为研究人员,工程师,经济学家,制造商,非政府组织,协会......