From 108533e08e7da3b46b60cd4b5c7ac435b2234652 Mon Sep 17 00:00:00 2001 From: Thibaud Lepretre Date: Mon, 24 Apr 2017 17:21:09 +0200 Subject: [PATCH] [SonarQube] Support user token authentication (#854) - new secret: `sonarqube_token` --- server.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index b286b66..f68c5c6 100644 --- a/server.js +++ b/server.js @@ -901,18 +901,27 @@ camp.route(/^\/sonar\/(http|https)\/(.*)\/(.*)\/(.*)\.(svg|png|gif|jpg|json)$/, var format = match[5]; var sonarMetricName = metricName; - if (metricName === 'tech_debt') { //special condition for backwards compatibility sonarMetricName = 'sqale_debt_ratio'; } - var apiUrl = scheme + '://' + serverUrl + '/api/resources?resource=' + buildType - + '&depth=0&metrics=' + encodeURIComponent(sonarMetricName) + '&includetrends=true'; + var options = { + uri: scheme + '://' + serverUrl + '/api/resources?resource=' + buildType + + '&depth=0&metrics=' + encodeURIComponent(sonarMetricName) + '&includetrends=true', + headers: { + Accept: 'application/json' + } + }; + if (serverSecrets && serverSecrets.sonarqube_token) { + options.auth = { + user: serverSecrets.sonarqube_token + }; + } var badgeData = getBadgeData(metricName.replace(/_/g, ' '), data); - request(apiUrl, { headers: { 'Accept': 'application/json' } }, function(err, res, buffer) { + request(options, function(err, res, buffer) { if (err != null) { badgeData.text[1] = 'inaccessible'; sendBadge(format, badgeData);