从sonarqube api访问质量门状态

时间:2014-12-12 14:17:51

标签: code-analysis sonarqube

我的问题:

我想通过SonarQube web api获取SonarQube项目质量门的当前状态,但我不认为质量门是文档中的可用度量标准。访问此信息以包含在报告中的最佳方式是什么?

背景:

我正在使用SonarQube API访问有关项目分析的信息。 API的输出用于生成每周报告。我可以使用以下SonarQube API调用访问有关每个项目的信息。

http://my-sonar-site/api/resources/index/?resource=$PROJECT_KEY&metrics=$METRIC_LIST

度量标准列表是从

的SonarQube API文档中填充的

http://docs.sonarqube.org/display/SONAR/Metric+definitions

除了质量门的状态之外,这给我带来了我想要的一切。

我尝试了什么:

  • 我在上面的链接中查看了指标的文档,但未能在api的那一部分找到质量门状态。
  • 我还查看了http://nemo.sonarqube.org/api_documentation#api/qualitygates中记录的质量门API - 但质量门API似乎用于创建和管理质量门和项目关联,而不是获取每个门的当前状态 - 项目基础。

2 个答案:

答案 0 :(得分:26)

从SonarQube 5.3开始,您可以使用API​​获取Qualitygate状态:     http://[sonarhost]/api/qualitygates/project_status?analysesId=[ID]

自SonarQube 5.4以来:     http://[sonarhost]/api/qualitygates/project_status?projectKey=[key]

答案 1 :(得分:4)

您可以使用“quality_gate_details”指标检索所需内容。以Nemo为例:http://nemo.sonarqube.org/api/resources/index/?resource=org.codehaus.sonar:sonar&metrics=quality_gate_details

[{"id":48569,"key":"org.codehaus.sonar:sonar","name":"SonarQube","scope":"PRJ","qualifier":"TRK","date":"2014-11-30T16:13:17+0000","creationDate":null,"lname":"SonarQube","version":"5.0-SNAPSHOT","description":"Open source platform for continuous inspection of code quality","msr":[{"key":"quality_gate_details","data":"{\"level\":\"ERROR\",\"conditions\":[{\"metric\":\"blocker_violations\",\"op\":\"GT\",\"error\":\"0\",\"actual\":\"3.0\",\"level\":\"ERROR\"},{\"metric\":\"critical_violations\",\"op\":\"GT\",\"error\":\"0\",\"actual\":\"15.0\",\"level\":\"ERROR\"},{\"metric\":\"test_failures\",\"op\":\"GT\",\"warning\":\"0\",\"error\":\"\",\"actual\":\"0.0\",\"level\":\"OK\"},{\"metric\":\"skipped_tests\",\"op\":\"GT\",\"warning\":\"0\",\"actual\":\"0.0\",\"level\":\"OK\"},{\"metric\":\"coverage\",\"op\":\"LT\",\"warning\":\"\",\"error\":\"80\",\"actual\":\"81.5\",\"level\":\"OK\"},{\"metric\":\"test_errors\",\"op\":\"GT\",\"warning\":\"0\",\"error\":\"\",\"actual\":\"0.0\",\"level\":\"OK\"},{\"metric\":\"sqale_effort_to_grade_a\",\"op\":\"GT\",\"warning\":\"\",\"error\":\"0\",\"actual\":\"0.0\",\"level\":\"OK\"}]}"}]}]

目前,要获取完整的指标列表,您可以浏览“指标”数据库表。 请随时查看https://jira.codehaus.org/browse/SONAR-5378,以便在SonarQube网络界面上直接提供详细的指标列表。