Added token support to CircleCI badges

This commit is contained in:
Chris Reeves 2015-05-26 18:03:47 +01:00
parent 5ffc6328ce
commit d8743624c4
2 changed files with 25 additions and 8 deletions

View File

@ -3302,22 +3302,35 @@ cache(function(data, match, sendBadge, request) {
// CircleCI build integration.
// https://circleci.com/api/v1/project/BrightFlair/PHP.Gt?circle-token=0a5143728784b263d9f0238b8d595522689b3af2&limit=1&filter=completed
camp.route(/^\/circleci\/project\/([^\/]+\/[^\/]+)(?:\/(.*))?\.(svg|png|gif|jpg|json)$/,
camp.route(/^\/circleci\/(?:token\/(\w+))?[+\/]?project\/([^\/]+\/[^\/]+)(?:\/(.*))?\.(svg|png|gif|jpg|json)$/,
cache(function(data, match, sendBadge, request) {
var userRepo = match[1]; // eg, `BrightFlair/PHP.Gt`.
var branch = match[2];
var format = match[3];
var token = match[1]
var userRepo = match[2]; // eg, `BrightFlair/PHP.Gt`.
var branch = match[3];
var format = match[4];
// Base API URL
var apiUrl = 'https://circleci.com/api/v1/project/' + userRepo;
// Query Params
queryParams = {};
queryParams['limit'] = 1;
queryParams['filter'] = 'completed';
// Custom Banch if present
if(branch != null) {
apiUrl += "/tree/" + branch;
}
apiUrl +=
'?circle-token=0a5143728784b263d9f0238b8d595522689b3af2'
+ '&limit=1&filter=completed';
// Append Token to Query Params if present
if (token) {
queryParams['circle-token'] = token;
}
// Apprend query params to API URL
apiUrl += '?' + querystring.stringify(queryParams);
var badgeData = getBadgeData('build', data);
request(apiUrl, {json:true}, function(err, res, data) {
if (err != null) {
badgeData.text[1] = 'inaccessible';

View File

@ -112,6 +112,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable
<td><img src='/circleci/project/BrightFlair/PHP.Gt/master.svg' alt=''/></td>
<td><code>https://img.shields.io/circleci/project/BrightFlair/PHP.Gt/master.svg</code></td>
</tr>
<tr><th> CircleCI token: </th>
<td><img src='/circleci/project/BrightFlair/PHP.Gt/master.svg' alt=''/></td>
<td><code>https://img.shields.io/circleci/token/YOURTOKEN/project/BrightFlair/PHP.Gt/master.svg</code></td>
</tr>
<tr><th> Jenkins: </th>
<td><img src='/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg' alt=''/></td>
<td><code>https://img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg</code></td>