kafka-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gwens...@apache.org
Subject kafka git commit: MINOR: Support GitHub OAuth tokens in kafka-merge-pr.py
Date Wed, 25 Nov 2015 23:03:20 GMT
Repository: kafka
Updated Branches:
  refs/heads/trunk e14ae66e7 -> 34a6be2cc


MINOR: Support GitHub OAuth tokens in kafka-merge-pr.py

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Gwen Shapira

Closes #590 from guozhangwang/KOAuth


Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/34a6be2c
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/34a6be2c
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/34a6be2c

Branch: refs/heads/trunk
Commit: 34a6be2ccd95d50e7659a57c943436e579521471
Parents: e14ae66
Author: Guozhang Wang <wangguoz@gmail.com>
Authored: Wed Nov 25 15:03:10 2015 -0800
Committer: Gwen Shapira <cshapi@gmail.com>
Committed: Wed Nov 25 15:03:10 2015 -0800

----------------------------------------------------------------------
 kafka-merge-pr.py | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kafka/blob/34a6be2c/kafka-merge-pr.py
----------------------------------------------------------------------
diff --git a/kafka-merge-pr.py b/kafka-merge-pr.py
index 186e65c..01b25c7 100644
--- a/kafka-merge-pr.py
+++ b/kafka-merge-pr.py
@@ -54,6 +54,11 @@ PUSH_REMOTE_NAME = os.environ.get("PUSH_REMOTE_NAME", "apache")
 JIRA_USERNAME = os.environ.get("JIRA_USERNAME", "")
 # ASF JIRA password
 JIRA_PASSWORD = os.environ.get("JIRA_PASSWORD", "")
+# OAuth key used for issuing requests against the GitHub API. If this is not defined, then
requests
+# will be unauthenticated. You should only need to configure this if you find yourself regularly
+# exceeding your IP's unauthenticated request rate limit. You can create an OAuth key at
+# https://github.com/settings/tokens. This script only requires the "public_repo" scope.
+GITHUB_OAUTH_KEY = os.environ.get("GITHUB_OAUTH_KEY")
 
 GITHUB_USER = os.environ.get("GITHUB_USER", "apache")
 GITHUB_BASE = "https://github.com/%s/%s/pull" % (GITHUB_USER, PROJECT_NAME)
@@ -71,9 +76,17 @@ DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "0.9.1.0")
 
 def get_json(url):
     try:
-        return json.load(urllib2.urlopen(url))
+        request = urllib2.Request(url)
+        if GITHUB_OAUTH_KEY:
+            request.add_header('Authorization', 'token %s' % GITHUB_OAUTH_KEY)
+        return json.load(urllib2.urlopen(request))
     except urllib2.HTTPError as e:
-        print "Unable to fetch URL, exiting: %s" % url
+        if "X-RateLimit-Remaining" in e.headers and e.headers["X-RateLimit-Remaining"] ==
'0':
+            print "Exceeded the GitHub API rate limit; see the instructions in " + \
+                  "kafka-merge-pr.py to configure an OAuth token for making authenticated
" + \
+                  "GitHub requests."
+        else:
+            print "Unable to fetch URL, exiting: %s" % url
         sys.exit(-1)
 
 


Mime
View raw message