diff --git a/server.js b/server.js index dd77c45..c28e276 100644 --- a/server.js +++ b/server.js @@ -3849,16 +3849,19 @@ cache(function(data, match, sendBadge, request) { })); // Jenkins build status integration -camp.route(/^\/jenkins(-ci)?\/s\/(http(s)?)\/((?:[^\/]+)(?:\/.+?)?)\/([^\/]+)\.(svg|png|gif|jpg|json)$/, +camp.route(/^\/jenkins(?:-ci)?\/s\/(http(?:s)?)\/([^\/]+)\/(.+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { - var scheme = match[2]; // http(s) - var host = match[4]; // jenkins.qa.ubuntu.com - var job = match[5]; // precise-desktop-amd64_default - var format = match[6]; + var scheme = match[1]; // http(s) + var host = match[2]; // example.org:8080 + var job = match[3]; // folder/job + var format = match[4]; var options = { json: true, uri: scheme + '://' + host + '/job/' + job + '/api/json?tree=color' }; + if (job.indexOf('/') > -1 ) { + options.uri = scheme + '://' + host + '/' + job + '/api/json?tree=color'; + } if (serverSecrets && serverSecrets.jenkins_user) { options.auth = { @@ -3902,17 +3905,21 @@ cache(function(data, match, sendBadge, request) { })); // Jenkins tests integration -camp.route(/^\/jenkins(-ci)?\/t\/(http(s)?)\/((?:[^\/]+)(?:\/.+?)?)\/([^\/]+)\.(svg|png|gif|jpg|json)$/, +camp.route(/^\/jenkins(?:-ci)?\/t\/(http(?:s)?)\/([^\/]+)\/(.+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { - var scheme = match[2]; // http(s) - var host = match[4]; // jenkins.qa.ubuntu.com - var job = match[5]; // precise-desktop-amd64_default - var format = match[6]; + var scheme = match[1]; // http(s) + var host = match[2]; // example.org:8080 + var job = match[3]; // folder/job + var format = match[4]; var options = { json: true, uri: scheme + '://' + host + '/job/' + job + '/lastBuild/api/json?tree=actions[failCount,skipCount,totalCount]' }; + if (job.indexOf('/') > -1 ) { + options.uri = scheme + '://' + host + '/' + job + + '/lastBuild/api/json?tree=actions[failCount,skipCount,totalCount]'; + } if (serverSecrets && serverSecrets.jenkins_user) { options.auth = { @@ -3958,17 +3965,21 @@ cache(function(data, match, sendBadge, request) { })); // Jenkins coverage integration -camp.route(/^\/jenkins(-ci)?\/c\/(http(s)?)\/((?:[^\/]+)(?:\/.+?)?)\/([^\/]+)\.(svg|png|gif|jpg|json)$/, +camp.route(/^\/jenkins(?:-ci)?\/c\/(http(?:s)?)\/([^\/]+)\/(.+)\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { - var scheme = match[2]; // http(s) - var host = match[4]; // jenkins.qa.ubuntu.com - var job = match[5]; // precise-desktop-amd64_default - var format = match[6]; + var scheme = match[1]; // http(s) + var host = match[2]; // example.org:8080 + var job = match[3]; // folder/job + var format = match[4]; var options = { json: true, uri: scheme + '://' + host + '/job/' + job + '/lastBuild/cobertura/api/json?tree=results[elements[name,denominator,numerator,ratio]]' }; + if (job.indexOf('/') > -1 ) { + options.uri = scheme + '://' + host + '/' + job + + '/lastBuild/cobertura/api/json?tree=results[elements[name,denominator,numerator,ratio]]'; + } if (serverSecrets && serverSecrets.jenkins_user) { options.auth = { @@ -4632,7 +4643,7 @@ cache(function(data, match, sendBadge, request) { queryParams['filter'] = 'completed'; // Custom Banch if present - if(branch != null) { + if (branch != null) { apiUrl += "/tree/" + branch; } @@ -6240,7 +6251,7 @@ function phpStableVersion(version) { // This searches the serverSecrets for a twitter consumer key // and secret, and exchanges them for a bearer token to use for all requests. function fetchTwitterToken() { - if(serverSecrets.twitter_consumer_key && serverSecrets.twitter_consumer_secret){ + if (serverSecrets.twitter_consumer_key && serverSecrets.twitter_consumer_secret){ // fetch a bearer token good for this app session // construct this bearer request with a base64 encoding of key:secret // docs for this are here: https://dev.twitter.com/oauth/application-only @@ -6257,13 +6268,13 @@ function fetchTwitterToken() { }; console.log('Fetching twitter bearer token...'); request(options,function(err,res,buffer){ - if(err){ + if (err) { console.error('Error fetching twitter bearer token, error: ', err); return; } - try{ + try { var data = JSON.parse(buffer); - if(data.token_type === 'bearer'){ + if (data.token_type === 'bearer') { serverSecrets.twitter_bearer_token = data.access_token; console.log('Fetched twitter bearer token'); return; diff --git a/try.html b/try.html index f4c6c87..a1300b1 100644 --- a/try.html +++ b/try.html @@ -145,16 +145,16 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/snap-ci/ThoughtWorksStudios/eb_deployer/master.svg Jenkins: - - https://img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg + + https://img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/view/Precise/view/All%20Precise/job/precise-desktop-amd64_default.svg Jenkins tests: - - https://img.shields.io/jenkins/t/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg + + https://img.shields.io/jenkins/t/https/jenkins.qa.ubuntu.com/view/Precise/view/All%20Precise/job/precise-desktop-amd64_default.svg Jenkins coverage: - - https://img.shields.io/jenkins/c/https/jenkins.qa.ubuntu.com/address-book-service-utopic-i386-ci.svg + + https://img.shields.io/jenkins/c/https/jenkins.qa.ubuntu.com/view/Utopic/view/All/job/address-book-service-utopic-i386-ci.svg Coveralls: