From 020fbebcaf7067812d35bb16ce55c931f0254725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olof-Joachim=20Frahm=20=28=E6=AC=A7=E9=9B=85=E7=A6=8F=29?= Date: Sun, 22 Sep 2019 10:59:21 +0200 Subject: [PATCH] Jump from notifications to related PRs/issues. (#1168) * Jump from notifications to related PRs/issues. * Add test case for jumping to related PRs/issues. Also another method to get notifications scoped to a repository, otherwise it's hard to keep out sensitive information from the test cases. --- github/Notification.py | 14 ++++++ github/Repository.py | 32 ++++++++++++++ tests/AllTests.py | 1 + tests/PullRequest1168.py | 44 +++++++++++++++++++ tests/ReplayData/PullRequest1168.setUp.txt | 11 +++++ .../PullRequest1168.testGetIssue.txt | 22 ++++++++++ .../PullRequest1168.testGetPullRequest.txt | 22 ++++++++++ 7 files changed, 146 insertions(+) create mode 100644 tests/PullRequest1168.py create mode 100644 tests/ReplayData/PullRequest1168.setUp.txt create mode 100644 tests/ReplayData/PullRequest1168.testGetIssue.txt create mode 100644 tests/ReplayData/PullRequest1168.testGetPullRequest.txt diff --git a/github/Notification.py b/github/Notification.py index 72947ac0..7b301d5f 100644 --- a/github/Notification.py +++ b/github/Notification.py @@ -125,6 +125,20 @@ class Notification(github.GithubObject.CompletableGithubObject): self.url, ) + def get_pull_request(self): + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.subject.url + ) + return github.PullRequest.PullRequest(self._requester, headers, data, completed=True) + + def get_issue(self): + headers, data = self._requester.requestJsonAndCheck( + "GET", + self.subject.url + ) + return github.Issue.Issue(self._requester, headers, data, completed=True) + def _initAttributes(self): self._id = github.GithubObject.NotSet self._last_read_at = github.GithubObject.NotSet diff --git a/github/Repository.py b/github/Repository.py index 84558a1a..91992f8c 100644 --- a/github/Repository.py +++ b/github/Repository.py @@ -2616,6 +2616,38 @@ class Repository(github.GithubObject.CompletableGithubObject): for element in data["issues"] ] + def get_notifications(self, all=github.GithubObject.NotSet, participating=github.GithubObject.NotSet, since=github.GithubObject.NotSet, before=github.GithubObject.NotSet): + """ + :calls: `GET /repos/:owner/:repo/notifications `_ + :param all: bool + :param participating: bool + :param since: datetime.datetime + :param before: datetime.datetime + :rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Notification.Notification` + """ + + assert all is github.GithubObject.NotSet or isinstance(all, bool), all + assert participating is github.GithubObject.NotSet or isinstance(participating, bool), participating + assert since is github.GithubObject.NotSet or isinstance(since, datetime.datetime), since + assert before is github.GithubObject.NotSet or isinstance(before, datetime.datetime), before + + params = dict() + if all is not github.GithubObject.NotSet: + params["all"] = all + if participating is not github.GithubObject.NotSet: + params["participating"] = participating + if since is not github.GithubObject.NotSet: + params["since"] = since.strftime("%Y-%m-%dT%H:%M:%SZ") + if before is not github.GithubObject.NotSet: + params["before"] = before.strftime("%Y-%m-%dT%H:%M:%SZ") + + return github.PaginatedList.PaginatedList( + github.Notification.Notification, + self._requester, + self.url + "/notifications", + params + ) + def mark_notifications_as_read(self, last_read_at=datetime.datetime.utcnow()): """ :calls: `PUT /repos/:owner/:repo/notifications `_ diff --git a/tests/AllTests.py b/tests/AllTests.py index 64fb9195..a90eee74 100644 --- a/tests/AllTests.py +++ b/tests/AllTests.py @@ -129,4 +129,5 @@ from .Issue937 import * from .Issue945 import * from .Issue823 import * +from .PullRequest1168 import * from .PullRequest1169 import * diff --git a/tests/PullRequest1168.py b/tests/PullRequest1168.py new file mode 100644 index 00000000..432edbbe --- /dev/null +++ b/tests/PullRequest1168.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +############################ Copyrights and license ############################ +# # +# Copyright 2019 Olof-Joachim Frahm # +# # +# This file is part of PyGithub. # +# http://pygithub.readthedocs.io/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +################################################################################ + +from __future__ import absolute_import +from . import Framework + + +class PullRequest1168(Framework.TestCase): + def setUp(self): + Framework.TestCase.setUp(self) + self.notifications = self.g.get_repo("PyGithub/PyGithub").get_notifications(all=True) + + def testGetPullRequest(self): + p = self.notifications[0].get_pull_request() + self.assertEqual(p.id, 297582636) + self.assertEqual(p.number, 1171) + self.assertEqual(p.title, "Fix small issues for Python 3 compatibility.") + + def testGetIssue(self): + i = self.notifications[0].get_issue() + self.assertEqual(i.id, 297582636) + self.assertEqual(i.number, 1171) + self.assertEqual(i.title, "Fix small issues for Python 3 compatibility.") diff --git a/tests/ReplayData/PullRequest1168.setUp.txt b/tests/ReplayData/PullRequest1168.setUp.txt new file mode 100644 index 00000000..5cbdf5da --- /dev/null +++ b/tests/ReplayData/PullRequest1168.setUp.txt @@ -0,0 +1,11 @@ +https +GET +api.github.com +None +/repos/PyGithub/PyGithub +{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +None +200 +[('Date', 'Mon, 15 Jul 2019 17:30:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4940'), ('X-RateLimit-Reset', '1563215419'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"5ae26eb62a9e18727e87861af55c7ed1"'), ('Last-Modified', 'Sun, 14 Jul 2019 13:11:51 GMT'), ('X-OAuth-Scopes', 'notifications, public_repo'), ('X-Accepted-OAuth-Scopes', 'repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'D06A:402B8:332E7B2:3F5DC00:5D2CB82B')] +{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments","created_at":"2012-02-25T12:53:47Z","updated_at":"2019-07-14T13:11:51Z","pushed_at":"2019-07-15T16:46:34Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"https://pygithub.readthedocs.io/","size":11949,"stargazers_count":2692,"watchers_count":2692,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":926,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":71,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":926,"open_issues":71,"watchers":2692,"default_branch":"master","permissions":{"admin":false,"push":false,"pull":true},"organization":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"network_count":926,"subscribers_count":90} + diff --git a/tests/ReplayData/PullRequest1168.testGetIssue.txt b/tests/ReplayData/PullRequest1168.testGetIssue.txt new file mode 100644 index 00000000..c24dd3cb --- /dev/null +++ b/tests/ReplayData/PullRequest1168.testGetIssue.txt @@ -0,0 +1,22 @@ +https +GET +api.github.com +None +/repos/PyGithub/PyGithub/notifications?all=True +{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +None +200 +[('Date', 'Mon, 15 Jul 2019 17:30:18 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4942'), ('X-RateLimit-Reset', '1563215418'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/""'), ('Last-Modified', 'Mon, 15 Jul 2019 11:49:00 GMT'), ('X-Poll-Interval', '60'), ('X-OAuth-Scopes', 'notifications, public_repo'), ('X-Accepted-OAuth-Scopes', 'notifications, repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'D066:9A65:7D787E2:9B24A06:5D2CB82A')] +[{"id":"544598316","unread":false,"reason":"author","updated_at":"2019-07-15T11:49:00Z","last_read_at":"2019-07-15T17:24:25Z","subject":{"title":"Fix small issues for Python 3 compatibility.","url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171","latest_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments/511370638","type":"PullRequest"},"repository":{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments"},"url":"https://api.github.com/notifications/threads/544598316","subscription_url":"https://api.github.com/notifications/threads/544598316/subscription"},{"id":"541906556","unread":false,"reason":"author","updated_at":"2019-07-15T16:49:00Z","last_read_at":"2019-07-15T09:49:06Z","subject":{"title":"Code review bodies are optional in some cases.","url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1169","latest_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments/511480471","type":"PullRequest"},"repository":{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments"},"url":"https://api.github.com/notifications/threads/541906556","subscription_url":"https://api.github.com/notifications/threads/541906556/subscription"}] + +https +GET +api.github.com +None +/repos/PyGithub/PyGithub/pulls/1171 +{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +None +200 +[('Date', 'Mon, 15 Jul 2019 17:30:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4941'), ('X-RateLimit-Reset', '1563215419'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"e1697bb04d5d6f5c8aa477cc7b41a2dc"'), ('Last-Modified', 'Mon, 15 Jul 2019 12:56:28 GMT'), ('X-OAuth-Scopes', 'notifications, public_repo'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'D068:9A63:34E56AF:414EC1C:5D2CB82A')] +{"url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171","id":297582636,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjk3NTgyNjM2","html_url":"https://github.com/PyGithub/PyGithub/pull/1171","diff_url":"https://github.com/PyGithub/PyGithub/pull/1171.diff","patch_url":"https://github.com/PyGithub/PyGithub/pull/1171.patch","issue_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171","number":1171,"state":"open","locked":false,"title":"Fix small issues for Python 3 compatibility.","user":{"login":"Ferada","id":13713,"node_id":"MDQ6VXNlcjEzNzEz","avatar_url":"https://avatars1.githubusercontent.com/u/13713?v=4","gravatar_id":"","url":"https://api.github.com/users/Ferada","html_url":"https://github.com/Ferada","followers_url":"https://api.github.com/users/Ferada/followers","following_url":"https://api.github.com/users/Ferada/following{/other_user}","gists_url":"https://api.github.com/users/Ferada/gists{/gist_id}","starred_url":"https://api.github.com/users/Ferada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ferada/subscriptions","organizations_url":"https://api.github.com/users/Ferada/orgs","repos_url":"https://api.github.com/users/Ferada/repos","events_url":"https://api.github.com/users/Ferada/events{/privacy}","received_events_url":"https://api.github.com/users/Ferada/received_events","type":"User","site_admin":false},"body":"Still can't run tests with Python 3, but it's improving it a bit.","created_at":"2019-07-15T11:44:35Z","updated_at":"2019-07-15T12:56:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d6c7b974d468eed8da81155a1b6c4c9fa6c2c345","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/commits","review_comments_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/comments","review_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171/comments","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/14c79c13250edd1155af42f83b76a913faf58e9d","head":{"label":"Ferada:small-fixes-for-python-3","ref":"small-fixes-for-python-3","sha":"14c79c13250edd1155af42f83b76a913faf58e9d","user":{"login":"Ferada","id":13713,"node_id":"MDQ6VXNlcjEzNzEz","avatar_url":"https://avatars1.githubusercontent.com/u/13713?v=4","gravatar_id":"","url":"https://api.github.com/users/Ferada","html_url":"https://github.com/Ferada","followers_url":"https://api.github.com/users/Ferada/followers","following_url":"https://api.github.com/users/Ferada/following{/other_user}","gists_url":"https://api.github.com/users/Ferada/gists{/gist_id}","starred_url":"https://api.github.com/users/Ferada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ferada/subscriptions","organizations_url":"https://api.github.com/users/Ferada/orgs","repos_url":"https://api.github.com/users/Ferada/repos","events_url":"https://api.github.com/users/Ferada/events{/privacy}","received_events_url":"https://api.github.com/users/Ferada/received_events","type":"User","site_admin":false},"repo":{"id":196607288,"node_id":"MDEwOlJlcG9zaXRvcnkxOTY2MDcyODg=","name":"PyGithub","full_name":"Ferada/PyGithub","private":false,"owner":{"login":"Ferada","id":13713,"node_id":"MDQ6VXNlcjEzNzEz","avatar_url":"https://avatars1.githubusercontent.com/u/13713?v=4","gravatar_id":"","url":"https://api.github.com/users/Ferada","html_url":"https://github.com/Ferada","followers_url":"https://api.github.com/users/Ferada/followers","following_url":"https://api.github.com/users/Ferada/following{/other_user}","gists_url":"https://api.github.com/users/Ferada/gists{/gist_id}","starred_url":"https://api.github.com/users/Ferada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ferada/subscriptions","organizations_url":"https://api.github.com/users/Ferada/orgs","repos_url":"https://api.github.com/users/Ferada/repos","events_url":"https://api.github.com/users/Ferada/events{/privacy}","received_events_url":"https://api.github.com/users/Ferada/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Ferada/PyGithub","description":"Typed interactions with the GitHub API v3","fork":true,"url":"https://api.github.com/repos/Ferada/PyGithub","forks_url":"https://api.github.com/repos/Ferada/PyGithub/forks","keys_url":"https://api.github.com/repos/Ferada/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Ferada/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Ferada/PyGithub/teams","hooks_url":"https://api.github.com/repos/Ferada/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/Ferada/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/Ferada/PyGithub/events","assignees_url":"https://api.github.com/repos/Ferada/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/Ferada/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/Ferada/PyGithub/tags","blobs_url":"https://api.github.com/repos/Ferada/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Ferada/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Ferada/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/Ferada/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Ferada/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/Ferada/PyGithub/languages","stargazers_url":"https://api.github.com/repos/Ferada/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/Ferada/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/Ferada/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/Ferada/PyGithub/subscription","commits_url":"https://api.github.com/repos/Ferada/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/Ferada/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/Ferada/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/Ferada/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/Ferada/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/Ferada/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Ferada/PyGithub/merges","archive_url":"https://api.github.com/repos/Ferada/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Ferada/PyGithub/downloads","issues_url":"https://api.github.com/repos/Ferada/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/Ferada/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/Ferada/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/Ferada/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Ferada/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/Ferada/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/Ferada/PyGithub/deployments","created_at":"2019-07-12T15:57:24Z","updated_at":"2019-07-12T15:57:30Z","pushed_at":"2019-07-15T16:46:32Z","git_url":"git://github.com/Ferada/PyGithub.git","ssh_url":"git@github.com:Ferada/PyGithub.git","clone_url":"https://github.com/Ferada/PyGithub.git","svn_url":"https://github.com/Ferada/PyGithub","homepage":"https://pygithub.readthedocs.io/","size":11951,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"PyGithub:master","ref":"master","sha":"8b6b4505b646523000db0c0a7ca15e4c04ff2abd","user":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"repo":{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments","created_at":"2012-02-25T12:53:47Z","updated_at":"2019-07-14T13:11:51Z","pushed_at":"2019-07-15T16:46:34Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"https://pygithub.readthedocs.io/","size":11949,"stargazers_count":2692,"watchers_count":2692,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":926,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":71,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":926,"open_issues":71,"watchers":2692,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171"},"html":{"href":"https://github.com/PyGithub/PyGithub/pull/1171"},"issue":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171"},"comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171/comments"},"review_comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/comments"},"review_comment":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/commits"},"statuses":{"href":"https://api.github.com/repos/PyGithub/PyGithub/statuses/14c79c13250edd1155af42f83b76a913faf58e9d"}},"author_association":"NONE","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":8,"deletions":4,"changed_files":3} + diff --git a/tests/ReplayData/PullRequest1168.testGetPullRequest.txt b/tests/ReplayData/PullRequest1168.testGetPullRequest.txt new file mode 100644 index 00000000..2cf68f04 --- /dev/null +++ b/tests/ReplayData/PullRequest1168.testGetPullRequest.txt @@ -0,0 +1,22 @@ +https +GET +api.github.com +None +/repos/PyGithub/PyGithub/notifications?all=True +{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +None +200 +[('Date', 'Mon, 15 Jul 2019 17:30:19 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4939'), ('X-RateLimit-Reset', '1563215419'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/""'), ('Last-Modified', 'Mon, 15 Jul 2019 11:49:00 GMT'), ('X-Poll-Interval', '60'), ('X-OAuth-Scopes', 'notifications, public_repo'), ('X-Accepted-OAuth-Scopes', 'notifications, repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'D06C:2C1E2:824F092:A16B125:5D2CB82B')] +[{"id":"544598316","unread":false,"reason":"author","updated_at":"2019-07-15T11:49:00Z","last_read_at":"2019-07-15T17:24:25Z","subject":{"title":"Fix small issues for Python 3 compatibility.","url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171","latest_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments/511370638","type":"PullRequest"},"repository":{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments"},"url":"https://api.github.com/notifications/threads/544598316","subscription_url":"https://api.github.com/notifications/threads/544598316/subscription"},{"id":"541906556","unread":false,"reason":"author","updated_at":"2019-07-15T16:49:00Z","last_read_at":"2019-07-15T09:49:06Z","subject":{"title":"Code review bodies are optional in some cases.","url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1169","latest_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments/511480471","type":"PullRequest"},"repository":{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments"},"url":"https://api.github.com/notifications/threads/541906556","subscription_url":"https://api.github.com/notifications/threads/541906556/subscription"}] + +https +GET +api.github.com +None +/repos/PyGithub/PyGithub/pulls/1171 +{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +None +200 +[('Date', 'Mon, 15 Jul 2019 17:30:20 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Server', 'GitHub.com'), ('Status', '200 OK'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4938'), ('X-RateLimit-Reset', '1563215420'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding'), ('ETag', 'W/"e1697bb04d5d6f5c8aa477cc7b41a2dc"'), ('Last-Modified', 'Mon, 15 Jul 2019 12:56:28 GMT'), ('X-OAuth-Scopes', 'notifications, public_repo'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '1; mode=block'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'D06E:17F13:5CAAB3A:72EFA8F:5D2CB82B')] +{"url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171","id":297582636,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjk3NTgyNjM2","html_url":"https://github.com/PyGithub/PyGithub/pull/1171","diff_url":"https://github.com/PyGithub/PyGithub/pull/1171.diff","patch_url":"https://github.com/PyGithub/PyGithub/pull/1171.patch","issue_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171","number":1171,"state":"open","locked":false,"title":"Fix small issues for Python 3 compatibility.","user":{"login":"Ferada","id":13713,"node_id":"MDQ6VXNlcjEzNzEz","avatar_url":"https://avatars1.githubusercontent.com/u/13713?v=4","gravatar_id":"","url":"https://api.github.com/users/Ferada","html_url":"https://github.com/Ferada","followers_url":"https://api.github.com/users/Ferada/followers","following_url":"https://api.github.com/users/Ferada/following{/other_user}","gists_url":"https://api.github.com/users/Ferada/gists{/gist_id}","starred_url":"https://api.github.com/users/Ferada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ferada/subscriptions","organizations_url":"https://api.github.com/users/Ferada/orgs","repos_url":"https://api.github.com/users/Ferada/repos","events_url":"https://api.github.com/users/Ferada/events{/privacy}","received_events_url":"https://api.github.com/users/Ferada/received_events","type":"User","site_admin":false},"body":"Still can't run tests with Python 3, but it's improving it a bit.","created_at":"2019-07-15T11:44:35Z","updated_at":"2019-07-15T12:56:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d6c7b974d468eed8da81155a1b6c4c9fa6c2c345","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/commits","review_comments_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/comments","review_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171/comments","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/14c79c13250edd1155af42f83b76a913faf58e9d","head":{"label":"Ferada:small-fixes-for-python-3","ref":"small-fixes-for-python-3","sha":"14c79c13250edd1155af42f83b76a913faf58e9d","user":{"login":"Ferada","id":13713,"node_id":"MDQ6VXNlcjEzNzEz","avatar_url":"https://avatars1.githubusercontent.com/u/13713?v=4","gravatar_id":"","url":"https://api.github.com/users/Ferada","html_url":"https://github.com/Ferada","followers_url":"https://api.github.com/users/Ferada/followers","following_url":"https://api.github.com/users/Ferada/following{/other_user}","gists_url":"https://api.github.com/users/Ferada/gists{/gist_id}","starred_url":"https://api.github.com/users/Ferada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ferada/subscriptions","organizations_url":"https://api.github.com/users/Ferada/orgs","repos_url":"https://api.github.com/users/Ferada/repos","events_url":"https://api.github.com/users/Ferada/events{/privacy}","received_events_url":"https://api.github.com/users/Ferada/received_events","type":"User","site_admin":false},"repo":{"id":196607288,"node_id":"MDEwOlJlcG9zaXRvcnkxOTY2MDcyODg=","name":"PyGithub","full_name":"Ferada/PyGithub","private":false,"owner":{"login":"Ferada","id":13713,"node_id":"MDQ6VXNlcjEzNzEz","avatar_url":"https://avatars1.githubusercontent.com/u/13713?v=4","gravatar_id":"","url":"https://api.github.com/users/Ferada","html_url":"https://github.com/Ferada","followers_url":"https://api.github.com/users/Ferada/followers","following_url":"https://api.github.com/users/Ferada/following{/other_user}","gists_url":"https://api.github.com/users/Ferada/gists{/gist_id}","starred_url":"https://api.github.com/users/Ferada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ferada/subscriptions","organizations_url":"https://api.github.com/users/Ferada/orgs","repos_url":"https://api.github.com/users/Ferada/repos","events_url":"https://api.github.com/users/Ferada/events{/privacy}","received_events_url":"https://api.github.com/users/Ferada/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Ferada/PyGithub","description":"Typed interactions with the GitHub API v3","fork":true,"url":"https://api.github.com/repos/Ferada/PyGithub","forks_url":"https://api.github.com/repos/Ferada/PyGithub/forks","keys_url":"https://api.github.com/repos/Ferada/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Ferada/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Ferada/PyGithub/teams","hooks_url":"https://api.github.com/repos/Ferada/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/Ferada/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/Ferada/PyGithub/events","assignees_url":"https://api.github.com/repos/Ferada/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/Ferada/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/Ferada/PyGithub/tags","blobs_url":"https://api.github.com/repos/Ferada/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Ferada/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Ferada/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/Ferada/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Ferada/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/Ferada/PyGithub/languages","stargazers_url":"https://api.github.com/repos/Ferada/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/Ferada/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/Ferada/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/Ferada/PyGithub/subscription","commits_url":"https://api.github.com/repos/Ferada/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/Ferada/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/Ferada/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/Ferada/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/Ferada/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/Ferada/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Ferada/PyGithub/merges","archive_url":"https://api.github.com/repos/Ferada/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Ferada/PyGithub/downloads","issues_url":"https://api.github.com/repos/Ferada/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/Ferada/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/Ferada/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/Ferada/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Ferada/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/Ferada/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/Ferada/PyGithub/deployments","created_at":"2019-07-12T15:57:24Z","updated_at":"2019-07-12T15:57:30Z","pushed_at":"2019-07-15T16:46:32Z","git_url":"git://github.com/Ferada/PyGithub.git","ssh_url":"git@github.com:Ferada/PyGithub.git","clone_url":"https://github.com/Ferada/PyGithub.git","svn_url":"https://github.com/Ferada/PyGithub","homepage":"https://pygithub.readthedocs.io/","size":11951,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"PyGithub:master","ref":"master","sha":"8b6b4505b646523000db0c0a7ca15e4c04ff2abd","user":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"repo":{"id":3544490,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0NDkw","name":"PyGithub","full_name":"PyGithub/PyGithub","private":false,"owner":{"login":"PyGithub","id":11288996,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMjg4OTk2","avatar_url":"https://avatars0.githubusercontent.com/u/11288996?v=4","gravatar_id":"","url":"https://api.github.com/users/PyGithub","html_url":"https://github.com/PyGithub","followers_url":"https://api.github.com/users/PyGithub/followers","following_url":"https://api.github.com/users/PyGithub/following{/other_user}","gists_url":"https://api.github.com/users/PyGithub/gists{/gist_id}","starred_url":"https://api.github.com/users/PyGithub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PyGithub/subscriptions","organizations_url":"https://api.github.com/users/PyGithub/orgs","repos_url":"https://api.github.com/users/PyGithub/repos","events_url":"https://api.github.com/users/PyGithub/events{/privacy}","received_events_url":"https://api.github.com/users/PyGithub/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PyGithub/PyGithub","description":"Typed interactions with the GitHub API v3","fork":false,"url":"https://api.github.com/repos/PyGithub/PyGithub","forks_url":"https://api.github.com/repos/PyGithub/PyGithub/forks","keys_url":"https://api.github.com/repos/PyGithub/PyGithub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PyGithub/PyGithub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PyGithub/PyGithub/teams","hooks_url":"https://api.github.com/repos/PyGithub/PyGithub/hooks","issue_events_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/events{/number}","events_url":"https://api.github.com/repos/PyGithub/PyGithub/events","assignees_url":"https://api.github.com/repos/PyGithub/PyGithub/assignees{/user}","branches_url":"https://api.github.com/repos/PyGithub/PyGithub/branches{/branch}","tags_url":"https://api.github.com/repos/PyGithub/PyGithub/tags","blobs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PyGithub/PyGithub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PyGithub/PyGithub/git/refs{/sha}","trees_url":"https://api.github.com/repos/PyGithub/PyGithub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PyGithub/PyGithub/statuses/{sha}","languages_url":"https://api.github.com/repos/PyGithub/PyGithub/languages","stargazers_url":"https://api.github.com/repos/PyGithub/PyGithub/stargazers","contributors_url":"https://api.github.com/repos/PyGithub/PyGithub/contributors","subscribers_url":"https://api.github.com/repos/PyGithub/PyGithub/subscribers","subscription_url":"https://api.github.com/repos/PyGithub/PyGithub/subscription","commits_url":"https://api.github.com/repos/PyGithub/PyGithub/commits{/sha}","git_commits_url":"https://api.github.com/repos/PyGithub/PyGithub/git/commits{/sha}","comments_url":"https://api.github.com/repos/PyGithub/PyGithub/comments{/number}","issue_comment_url":"https://api.github.com/repos/PyGithub/PyGithub/issues/comments{/number}","contents_url":"https://api.github.com/repos/PyGithub/PyGithub/contents/{+path}","compare_url":"https://api.github.com/repos/PyGithub/PyGithub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PyGithub/PyGithub/merges","archive_url":"https://api.github.com/repos/PyGithub/PyGithub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PyGithub/PyGithub/downloads","issues_url":"https://api.github.com/repos/PyGithub/PyGithub/issues{/number}","pulls_url":"https://api.github.com/repos/PyGithub/PyGithub/pulls{/number}","milestones_url":"https://api.github.com/repos/PyGithub/PyGithub/milestones{/number}","notifications_url":"https://api.github.com/repos/PyGithub/PyGithub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PyGithub/PyGithub/labels{/name}","releases_url":"https://api.github.com/repos/PyGithub/PyGithub/releases{/id}","deployments_url":"https://api.github.com/repos/PyGithub/PyGithub/deployments","created_at":"2012-02-25T12:53:47Z","updated_at":"2019-07-14T13:11:51Z","pushed_at":"2019-07-15T16:46:34Z","git_url":"git://github.com/PyGithub/PyGithub.git","ssh_url":"git@github.com:PyGithub/PyGithub.git","clone_url":"https://github.com/PyGithub/PyGithub.git","svn_url":"https://github.com/PyGithub/PyGithub","homepage":"https://pygithub.readthedocs.io/","size":11949,"stargazers_count":2692,"watchers_count":2692,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":926,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":71,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0","node_id":"MDc6TGljZW5zZTEy"},"forks":926,"open_issues":71,"watchers":2692,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171"},"html":{"href":"https://github.com/PyGithub/PyGithub/pull/1171"},"issue":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171"},"comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/issues/1171/comments"},"review_comments":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/comments"},"review_comment":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PyGithub/PyGithub/pulls/1171/commits"},"statuses":{"href":"https://api.github.com/repos/PyGithub/PyGithub/statuses/14c79c13250edd1155af42f83b76a913faf58e9d"}},"author_association":"NONE","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":8,"deletions":4,"changed_files":3} +