Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于 sonarqube-api 的 issue 部分 #16

Closed
abcanqi opened this issue Dec 2, 2020 · 2 comments
Closed

关于 sonarqube-api 的 issue 部分 #16

abcanqi opened this issue Dec 2, 2020 · 2 comments

Comments

@abcanqi
Copy link

abcanqi commented Dec 2, 2020

我想统计不同严重程度 Issue 的个数,但是您的代码里好像只读取了issue列表,没有将其它返回值拿出来,能否增加一下该功能呢?
image
image

@shijl0925
Copy link
Owner

shijl0925 commented Dec 5, 2020

from pprint import pprint
from operator import itemgetter
from itertools import groupby
from sonarqube import SonarQubeClient

def group_by_order(issues, order):
"""
按照order分组issues
:param issues:
:param order:
:return:
"""
issues = [item for item in issues if order in item]
groupby_issues = {}
issues = sorted(issues, key=itemgetter(order))
for issue_order, items in groupby(issues, key=itemgetter(order)):
if issue_order:
groupby_issues[issue_order] = list(items)
return groupby_issues

def generate_issue_numbers(issues, order):
"""
通过order对issues进行分组计数
:param issues:
:param order:
:return:
"""
groupby_issues = group_by_order(issues, order)
return {key: len(values) for key, values in groupby_issues.items()}

if name == "main":
sonarqube_url = 'http://....9000'
username = "admin"
password = "admin"
sonarhandler = SonarQubeClient(sonarqube_url=sonarqube_url, username=username, password=password)
issues = sonarhandler.issues.search_issues(componentKeys="myproject", branch="master")
result = generate_issue_numbers(issues, "severity")
pprint(result)

试试上面代码, 使用generate_issue_numbers 函数对search_issues 得到的issues结果进行按类别统计格式。
参考结果
image

@abcanqi
Copy link
Author

abcanqi commented Dec 7, 2020

您的方法解决了我的问题,谢谢作者!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants