Foolproof Bitbucket pull request

- Use metric() for the displayed number
- Use encodeURI() for API parameters
- Explicitly use a condition expression instead of a number where a boolean is expected

Part of #790.
This commit is contained in:
Thaddee Tyl 2017-02-11 00:09:24 +01:00
parent 4c2b2f4852
commit a4a46b070c

View File

@ -3477,7 +3477,8 @@ cache(function(data, match, sendBadge, request) {
var user = match[2]; // eg, atlassian
var repo = match[3]; // eg, python-bitbucket
var format = match[4];
var apiUrl = 'https://bitbucket.org/api/2.0/repositories/' + user + '/' + repo
var apiUrl = 'https://bitbucket.org/api/2.0/repositories/'
+ encodeURI(user) + '/' + encodeURI(repo)
+ '/pullrequests/?limit=0&state=OPEN';
var badgeData = getBadgeData('pull requests', data);
@ -3490,8 +3491,8 @@ cache(function(data, match, sendBadge, request) {
try {
var data = JSON.parse(buffer);
var pullrequests = data.size;
badgeData.text[1] = pullrequests + (isRaw? '': ' open');
badgeData.colorscheme = pullrequests ? 'yellow' : 'brightgreen';
badgeData.text[1] = metric(pullrequests) + (isRaw? '': ' open');
badgeData.colorscheme = (pullrequests > 0)? 'yellow': 'brightgreen';
sendBadge(format, badgeData);
} catch(e) {
badgeData.text[1] = 'invalid';