diff --git a/scripts/assign_issues.js b/scripts/assign_issues.js index e9c96af3180c314db280bba356420d6e66508540..877052bb939d92b1c5e8e4a4ea8273abb3bc9b04 100755 --- a/scripts/assign_issues.js +++ b/scripts/assign_issues.js @@ -2,19 +2,24 @@ const https = require('https'); -var options = { - host: 'api.github.com', - port: 443, - path: '/repos/mozilla/browserid/issues?per_page=100&assignee=none' -}; - var people = [ 'lloyd', 'stomlinson', 'benadida' ]; -https.get(options, function(res) { +var auth = process.env.AUTH; + +if (typeof auth !== 'string') { + console.log("oops. define env var AUTH with '<github uname>:<github pass>'"); + process.exit(1); +} + +https.get({ + host: 'api.github.com', + port: 443, + path: '/repos/mozilla/browserid/issues?per_page=100&assignee=none' +}, function(res) { var body = ""; res.on('data', function(chunk) { body += chunk; @@ -30,7 +35,6 @@ https.get(options, function(res) { function processIssues(json) { var issues = JSON.parse(json); var num = 0; - issues = [issues[0]]; issues.forEach(function(i) { if (!i.assignee) assignIssueTo(i.number, people[num++ % people.length]); }); @@ -41,19 +45,16 @@ function assignIssueTo(number, person) { host: 'api.github.com', port: 443, path: '/repos/mozilla/browserid/issues/' + number, - method: 'PATCH' + method: 'POST' }; + var req = https.request(options, function(res) { - console.log('STATUS: ' + res.statusCode); - console.log('HEADERS: ' + JSON.stringify(res.headers)); + console.log("assign issue", number, "to", person, "-", res.statusCode); res.setEncoding('utf8'); - res.on('data', function (chunk) { - console.log('BODY: ' + chunk); - }); }); var content = JSON.stringify({assignee:person}); req.setHeader('content-length', content.length); + req.setHeader('Authorization', "Basic " + new Buffer(auth, 'utf8').toString('base64')); req.write(content); req.end(); - console.log("assign issue", number, "to", person); }