Created
December 2, 2015 16:25
-
-
Save maxkarelov/46696a251280785111d9 to your computer and use it in GitHub Desktop.
python script for generating sonarqube project report
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import mysql.connector | |
config = { | |
'user': 'root', | |
'password': 'root', | |
'host': '127.0.0.10', | |
'db': 'sonar', | |
'project': '' | |
} | |
cnx = mysql.connector.connect(user=config['user'], password=config['password'], | |
host=config['host'], | |
db=config['db']) | |
cursor = cnx.cursor() | |
query = """SELECT projects.long_name AS 'component name', | |
ROUND(m3.value,1) AS 'ut-coverage', | |
ROUND(m1.value,1) AS 'it-coverage', | |
ROUND(m5.value,1) AS 'overall coverage', | |
ROUND(m2.value) AS 'lines of code', | |
ROUND(m4.value) AS 'open issues' | |
FROM snapshots | |
JOIN projects ON snapshots.project_id=projects.id | |
JOIN project_measures as m1 ON m1.snapshot_id=snapshots.id | |
JOIN project_measures as m2 ON m2.snapshot_id=snapshots.id | |
JOIN project_measures AS m3 ON m3.snapshot_id=snapshots.id | |
JOIN project_measures AS m4 ON m4.snapshot_id=snapshots.id | |
JOIN project_measures AS m5 ON m5.snapshot_id=snapshots.id | |
WHERE snapshots.root_project_id=( SELECT p.id | |
FROM projects AS p | |
WHERE p.scope="PRJ" AND p.name LIKE "%1" LIMIT 0,1 ) AND | |
snapshots.islast=1 AND | |
snapshots.scope="PRJ" AND | |
m1.metric_id=59 AND | |
m2.metric_id=3 AND | |
m3.metric_id=42 AND | |
m4.metric_id=105 AND | |
m5.metric_id=70;""" % (config['project']) | |
cursor.execute(query) | |
result = cursor.fetchall() | |
print " name | ut | it | overall | lines | issues " | |
for row in result: | |
print row[0] + " " + str(row[1]) + "% " + str(row[2]) + "% " + str(row[3]) + "% " + str(row[4]) | |
#cursor.close() | |
cnx.close() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment