Merge remote-tracking branch 'baev/master'

This commit is contained in:
Thaddee Tyl 2014-12-31 13:37:29 +01:00
commit 38dcd59b2f
2 changed files with 40 additions and 0 deletions

View File

@ -471,6 +471,42 @@ cache(function(data, match, sendBadge, request) {
});
}));
// SonarQube code coverage
camp.route(/^\/sonar\/(http|https)\/(.*)\/(.*)\/coverage\.(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 apiUrl = scheme + '://' + serverUrl + '/api/resources?resource=' + buildType
+ '&depth=0&metrics=coverage&includetrends=true';
var badgeData = getBadgeData('coverage', data);
request(apiUrl, { headers: { 'Accept': 'application/json' } }, function(err, res, buffer) {
if (err != null) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
}
try {
var data = JSON.parse(buffer);
var percentage = data[0].msr[0].val;
if (percentage === undefined) {
badgeData.text[1] = 'unknown';
sendBadge(format, badgeData);
return;
}
badgeData.text[1] = percentage.toFixed(0) + '%';
badgeData.colorscheme = coveragePercentageColor(percentage);
sendBadge(format, badgeData);
} catch(e) {
badgeData.text[1] = 'invalid';
sendBadge(format, badgeData);
}
});
}));
// Gratipay integration.
camp.route(/^\/(gittip|gratipay)\/(.*)\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) {

View File

@ -124,6 +124,10 @@ When that is implemented, change the placeholder to 'search / project URL'
<td><img src='/coveralls/jekyll/jekyll/master.svg' alt=''/></td>
<td><code>https://img.shields.io/coveralls/jekyll/jekyll/master.svg</code></td>
</tr>
<tr><th> SonarQube Coverage: </th>
<td><img src='/sonar/http/sonar.qatools.ru/ru.yandex.qatools.allure:allure-core:master/coverage.svg' alt=''/></td>
<td><code>https://img.shields.io/sonar/http/sonar.qatools.ru/ru.yandex.qatools.allure:allure-core:master/coverage.svg</code></td>
</tr>
<tr><th> TeamCity CodeBetter Coverage: </th>
<td><img src='/teamcity/coverage/bt1242.svg' alt=''/></td>
<td><code>https://img.shields.io/teamcity/coverage/bt1242.svg</code></td>