From c071ec5f3803a4a16cdcd296069a8db9af783cab Mon Sep 17 00:00:00 2001
From: Lloyd Hilaiel <lloyd@hilaiel.com>
Date: Fri, 30 Sep 2011 00:30:51 -0700
Subject: [PATCH] add basic authentication to assign_issue scripts.  now it
 works fantabulously.

---
 scripts/assign_issues.js | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/scripts/assign_issues.js b/scripts/assign_issues.js
index e9c96af31..877052bb9 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);
 }
-- 
GitLab