|
@@ -20,17 +20,17 @@ class GitHubClientMixin(AuthApiClient):
|
|
|
# return api request that fetches last ~30 commits
|
|
|
# see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
|
|
|
# using end_sha as parameter
|
|
|
- return self.get("/repos/{}/commits".format(repo), params={"sha": end_sha})
|
|
|
+ return self.get(u"/repos/{}/commits".format(repo), params={"sha": end_sha})
|
|
|
|
|
|
def compare_commits(self, repo, start_sha, end_sha):
|
|
|
# see https://developer.github.com/v3/repos/commits/#compare-two-commits
|
|
|
# where start sha is oldest and end is most recent
|
|
|
- return self.get("/repos/{}/compare/{}...{}".format(repo, start_sha, end_sha))
|
|
|
+ return self.get(u"/repos/{}/compare/{}...{}".format(repo, start_sha, end_sha))
|
|
|
|
|
|
def get_pr_commits(self, repo, num):
|
|
|
# see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
|
|
|
# Max: 250 Commits
|
|
|
- return self.get("/repos/{}/pulls/{}/commits".format(repo, num))
|
|
|
+ return self.get(u"/repos/{}/pulls/{}/commits".format(repo, num))
|
|
|
|
|
|
|
|
|
class GitHubClient(GitHubClientMixin, AuthApiClient):
|
|
@@ -46,31 +46,31 @@ class GitHubClient(GitHubClientMixin, AuthApiClient):
|
|
|
return self._request(method, path, auth=None, data=data, params=params)
|
|
|
|
|
|
def get_repo(self, repo):
|
|
|
- return self.get("/repos/{}".format(repo))
|
|
|
+ return self.get(u"/repos/{}".format(repo))
|
|
|
|
|
|
def get_issue(self, repo, issue_id):
|
|
|
- return self.get("/repos/{}/issues/{}".format(repo, issue_id))
|
|
|
+ return self.get(u"/repos/{}/issues/{}".format(repo, issue_id))
|
|
|
|
|
|
def create_issue(self, repo, data):
|
|
|
- return self.post("/repos/{}/issues".format(repo), data=data)
|
|
|
+ return self.post(u"/repos/{}/issues".format(repo), data=data)
|
|
|
|
|
|
def create_comment(self, repo, issue_id, data):
|
|
|
- return self.post("/repos/{}/issues/{}/comments".format(repo, issue_id), data=data)
|
|
|
+ return self.post(u"/repos/{}/issues/{}/comments".format(repo, issue_id), data=data)
|
|
|
|
|
|
def list_assignees(self, repo):
|
|
|
- return self.get("/repos/{}/assignees?per_page=100".format(repo))
|
|
|
+ return self.get(u"/repos/{}/assignees?per_page=100".format(repo))
|
|
|
|
|
|
def search_issues(self, query):
|
|
|
- return self.get("/search/issues", params={"q": query})
|
|
|
+ return self.get(u"/search/issues", params={"q": query})
|
|
|
|
|
|
def create_hook(self, repo, data):
|
|
|
- return self.post("/repos/{}/hooks".format(repo), data=data)
|
|
|
+ return self.post(u"/repos/{}/hooks".format(repo), data=data)
|
|
|
|
|
|
def update_hook(self, repo, hook_id, data):
|
|
|
- return self.patch("/repos/{}/hooks/{}".format(repo, hook_id), data=data)
|
|
|
+ return self.patch(u"/repos/{}/hooks/{}".format(repo, hook_id), data=data)
|
|
|
|
|
|
def delete_hook(self, repo, id):
|
|
|
- return self.delete("/repos/{}/hooks/{}".format(repo, id))
|
|
|
+ return self.delete(u"/repos/{}/hooks/{}".format(repo, id))
|
|
|
|
|
|
def get_installations(self):
|
|
|
# TODO(jess): remove this whenever it's out of preview
|
|
@@ -112,7 +112,7 @@ class GitHubAppsClient(GitHubClientMixin, ApiClient):
|
|
|
def request(self, method, path, headers=None, data=None, params=None):
|
|
|
if headers is None:
|
|
|
headers = {
|
|
|
- "Authorization": "token %s" % self.get_token(),
|
|
|
+ u"Authorization": "token %s" % self.get_token(),
|
|
|
# TODO(jess): remove this whenever it's out of preview
|
|
|
"Accept": "application/vnd.github.machine-man-preview+json",
|
|
|
}
|
|
@@ -120,9 +120,9 @@ class GitHubAppsClient(GitHubClientMixin, ApiClient):
|
|
|
|
|
|
def create_token(self):
|
|
|
return self.post(
|
|
|
- "/app/installations/{}/access_tokens".format(self.integration.external_id),
|
|
|
+ u"/app/installations/{}/access_tokens".format(self.integration.external_id),
|
|
|
headers={
|
|
|
- "Authorization": b"Bearer %s" % self.get_jwt(),
|
|
|
+ u"Authorization": b"Bearer %s" % self.get_jwt(),
|
|
|
# TODO(jess): remove this whenever it's out of preview
|
|
|
"Accept": "application/vnd.github.machine-man-preview+json",
|
|
|
},
|