From e2bf8a27ed9e8622d2c137d8b860e3a6f5807c3f Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Sat, 25 Apr 2015 17:21:36 -0700 Subject: [PATCH] Support any SonarQube code coverage metric Closes #430 --- server.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index 162f34f..820f8c5 100644 --- a/server.js +++ b/server.js @@ -544,15 +544,16 @@ cache(function(data, match, sendBadge, request) { })); // SonarQube code coverage -camp.route(/^\/sonar\/(http|https)\/(.*)\/(.*)\/coverage\.(svg|png|gif|jpg|json)$/, +camp.route(/^\/sonar\/(http|https)\/(.*)\/(.*)\/(.*)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { var scheme = match[1]; var serverUrl = match[2]; // eg, `sonar.qatools.ru`. var buildType = match[3]; // eg, `ru.yandex.qatools.allure:allure-core:master`. - var format = match[4]; + var metric = match[4]; + var format = match[5]; var apiUrl = scheme + '://' + serverUrl + '/api/resources?resource=' + buildType - + '&depth=0&metrics=coverage&includetrends=true'; - var badgeData = getBadgeData('coverage', data); + + '&depth=0&metrics=' + encodeURIComponent(metric) + '&includetrends=true'; + var badgeData = getBadgeData(metric.replace('_', ' '), data); request(apiUrl, { headers: { 'Accept': 'application/json' } }, function(err, res, buffer) { if (err != null) { badgeData.text[1] = 'inaccessible';