From acfe2accb288ebacd0aad6a71d2aeecad384b6f3 Mon Sep 17 00:00:00 2001 From: Anthony van der Hoorn Date: Wed, 23 Apr 2014 15:00:30 -0400 Subject: [PATCH] Adds TeamCity CodeBetter release badge --- server.js | 29 +++++++++++++++++++++++++++++ try.html | 15 +++++++++++---- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index 514fa9045e..a17ed2cd5f 100644 --- a/server.js +++ b/server.js @@ -880,6 +880,35 @@ cache(function(data, match, sendBadge) { }); })); +// TeamCity CodeBetter version integration. +camp.route(/^\/teamcity\/codebetter\/(.*)\.(svg|png|gif|jpg)$/, +cache(function(data, match, sendBadge) { + var buildType = match[1]; // eg, `localeval`. + var format = match[2]; + var apiUrl = 'http://teamcity.codebetter.com/app/rest/builds/buildType:(id:' + buildType + ')?guest=1'; + var badgeData = getBadgeData('build', 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 status = data.status; + badgeData.text[1] = (status || '').toLowerCase(); + if (status === 'SUCCESS') { + badgeData.colorscheme = 'brightgreen'; + } else { + badgeData.colorscheme = 'red'; + } + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + } + }); +})); + // Any badge. camp.route(/^\/(:|badge\/)(([^-]|--)+)-(([^-]|--)+)-(([^-]|--)+)\.(svg|png|gif|jpg)$/, function(data, match, end, ask) { diff --git a/try.html b/try.html index 24550d57b0..d696584bbd 100644 --- a/try.html +++ b/try.html @@ -91,10 +91,6 @@ I made the GitHub Badge Service.

Miscellaneous

- - - - @@ -128,6 +124,17 @@ I made the GitHub Badge Service.
Travis: http://img.shields.io/travis/joyent/node.svg
Travis branch: http://img.shields.io/travis/joyent/node/v0.6.svghttp://img.shields.io/packagist/l/doctrine/orm.svg
+

Build

+ + + + + + + + + +
Travis: http://img.shields.io/travis/joyent/node.svg
TeamCity CodeBetter: http://img.shields.io/teamcity/codebetter/bt428.svg

Downloads

npm: