1

I need to fetch unit test coverage data for new code changes via the api. The metrics. I can see the data in SonarQubeDashboard but the api is not returning any values for the metrics like:

  1. new_coverage
  2. new_line_coverage (etc)

I am invoking the api :

https:///api/resources?format=json&metrics=ncloc,line_coverage,new_line_coverage

Even the Public Nemo Instance does not return these metric values:

https://nemo.sonarqube.org/api/resources?format=json&metrics=ncloc,line_coverage,new_line_coverage,new_coverage

The above API is returning only ncloc and line_coverage for each and every project.

Please dont tell me to check if these metrics are not available in the version. They are, if you invoke the API:

https://nemo.sonarqube.org/api/metrics/search

Rohan
  • 665
  • 9
  • 17

1 Answers1

6

The modern way (api/measures/component)

SonarQube's api/resources Web API is deprecated, you should use api/measures/component instead (since 5.4).

Using this project as an example:

https://nemo.sonarqube.org/api/measures/component?componentKey=org.sonarsource.php%3Aphp&metricKeys=ncloc,line_coverage,new_line_coverage,new_coverage&additionalFields=metrics,periods

The old way (api/resources)

If you're really stuck with api/resources (e.g. old SonarQube version), then keep in mind that for new metrics there is a notion of time delta (new since when ?), so you have to add includetrends=true to your request. Let's do that with your example:

https://nemo.sonarqube.org/api/resources?format=json&metrics=ncloc,line_coverage,new_line_coverage,new_coverage&includetrends=true

This gives you new_coverage and new_line_coverage (for the projects which do have coverage and SCM information available).

Nicolas B.
  • 7,245
  • 17
  • 29
  • We have version 5.3 so will have to use the old way. In that, have a question. The response has fields like var1, fvar1,; var3 and fvar3. What are the differences between var1, var3,.. etc? – Rohan Mar 29 '16 at 15:25
  • `var1` is the value for the first period (`p1`), `fvar1` is the formatted value. `var2` is the value for period `p2` etc. – Nicolas B. Mar 29 '16 at 15:39
  • @Nicolas Is there a way to determine an individual file full 'componentKey' value via the UI? I have a faily complex project multi-module maven project and can't seem to determine the correct key for a specific java files. Thanks – emeraldjava Sep 13 '16 at 11:14