mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 10:51:14 +00:00
Add function to delete pending reviews on a pull request (#1897)
Add a delete method to PullRequestReview to allow dismissing them. Fixes #1856 Co-authored-by: bagashvilit <bagashvilit@allegheny.edu> Co-authored-by: WonjoonC <chos@allegheny.edu>
This commit is contained in:
co-authored by
bagashvilit
WonjoonC
parent
f1faf941ec
commit
c8a945bb42
@@ -105,6 +105,15 @@ class PullRequestReview(github.GithubObject.NonCompletableGithubObject):
|
||||
input=post_parameters,
|
||||
)
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
:calls: `DELETE /repos/:owner/:repo/pulls/:number/reviews/:review_id <https://developer.github.com/v3/pulls/reviews/>`_
|
||||
:rtype: None
|
||||
"""
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE", f"{self.pull_request_url}/reviews/{self.id}"
|
||||
)
|
||||
|
||||
def _initAttributes(self):
|
||||
self._id = github.GithubObject.NotSet
|
||||
self._user = github.GithubObject.NotSet
|
||||
|
||||
@@ -13,6 +13,7 @@ class PullRequestReview(CompletableGithubObject):
|
||||
@property
|
||||
def commit_id(self) -> str: ...
|
||||
def dismiss(self, message: str) -> None: ...
|
||||
def delete(self) -> None: ...
|
||||
@property
|
||||
def html_url(self) -> str: ...
|
||||
@property
|
||||
|
||||
@@ -32,6 +32,7 @@ from . import Framework
|
||||
class PullRequestReview(Framework.TestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self.repo = self.g.get_repo("PyGithub/PyGithub", lazy=True)
|
||||
self.pull = self.repo.get_pull(538)
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from . import Framework
|
||||
|
||||
|
||||
class PullRequestReview1856(Framework.TestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
pumpkin_repo = self.g.get_repo("CS481-Team-Pumpkin/PyGithub", lazy=True)
|
||||
self.pumpkin_pull = pumpkin_repo.get_pull(4)
|
||||
self.pullreview = self.pumpkin_pull.get_review(631460061)
|
||||
|
||||
def testDelete(self):
|
||||
self.pullreview.delete()
|
||||
reviews = self.pumpkin_pull.get_reviews()
|
||||
self.assertEqual(list(reviews), [])
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,22 @@
|
||||
https
|
||||
DELETE
|
||||
api.github.com
|
||||
None
|
||||
/repos/CS481-Team-Pumpkin/PyGithub/pulls/4/reviews/631460061
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
None
|
||||
200
|
||||
[('Server', 'GitHub.com'), ('Date', 'Thu, 08 Apr 2021 14:27:14 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Transfer-Encoding', 'chunked'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', 'W/"2cb2134a474a60fa86391e682a41332b9ce4e92e41b9e7d2039ce2e6c64ae80e"'), ('X-OAuth-Scopes', 'admin:org, repo'), ('X-Accepted-OAuth-Scopes', 'public_repo, repo'), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4991'), ('X-RateLimit-Reset', '1617895279'), ('X-RateLimit-Used', '9'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('Content-Encoding', 'gzip'), ('X-GitHub-Request-Id', 'EB4C:74D7:85110:8A249:606F12C1')]
|
||||
{"id":631460061,"node_id":"MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NjMxNDYwMDYx","user":{"login":"bagashvilit","id":46755932,"node_id":"MDQ6VXNlcjQ2NzU1OTMy","avatar_url":"https://avatars.githubusercontent.com/u/46755932?v=4","gravatar_id":"","url":"https://api.github.com/users/bagashvilit","html_url":"https://github.com/bagashvilit","followers_url":"https://api.github.com/users/bagashvilit/followers","following_url":"https://api.github.com/users/bagashvilit/following{/other_user}","gists_url":"https://api.github.com/users/bagashvilit/gists{/gist_id}","starred_url":"https://api.github.com/users/bagashvilit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bagashvilit/subscriptions","organizations_url":"https://api.github.com/users/bagashvilit/orgs","repos_url":"https://api.github.com/users/bagashvilit/repos","events_url":"https://api.github.com/users/bagashvilit/events{/privacy}","received_events_url":"https://api.github.com/users/bagashvilit/received_events","type":"User","site_admin":false},"body":"","state":"PENDING","html_url":"https://github.com/CS481-Team-Pumpkin/PyGithub/pull/4#pullrequestreview-631460061","pull_request_url":"https://api.github.com/repos/CS481-Team-Pumpkin/PyGithub/pulls/4","author_association":"MEMBER","_links":{"html":{"href":"https://github.com/CS481-Team-Pumpkin/PyGithub/pull/4#pullrequestreview-631460061"},"pull_request":{"href":"https://api.github.com/repos/CS481-Team-Pumpkin/PyGithub/pulls/4"}},"commit_id":"a99c92b2ba68464a1a05d7fa8ef55e3a98803e5f"}
|
||||
|
||||
https
|
||||
GET
|
||||
api.github.com
|
||||
None
|
||||
/repos/CS481-Team-Pumpkin/PyGithub/pulls/4/reviews
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
None
|
||||
200
|
||||
[('Server', 'GitHub.com'), ('Date', 'Thu, 08 Apr 2021 14:27:14 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '2'), ('Cache-Control', 'private, max-age=60, s-maxage=60'), ('Vary', 'Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With'), ('ETag', '"82184cd6a599c0bb646629f3cbc867fb158314f97d57df6e35f0e910ed328f22"'), ('X-OAuth-Scopes', 'admin:org, repo'), ('X-Accepted-OAuth-Scopes', ''), ('X-GitHub-Media-Type', 'github.v3; format=json'), ('X-RateLimit-Limit', '5000'), ('X-RateLimit-Remaining', '4990'), ('X-RateLimit-Reset', '1617895279'), ('X-RateLimit-Used', '10'), ('Access-Control-Expose-Headers', 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset'), ('Access-Control-Allow-Origin', '*'), ('Strict-Transport-Security', 'max-age=31536000; includeSubdomains; preload'), ('X-Frame-Options', 'deny'), ('X-Content-Type-Options', 'nosniff'), ('X-XSS-Protection', '0'), ('Referrer-Policy', 'origin-when-cross-origin, strict-origin-when-cross-origin'), ('Content-Security-Policy', "default-src 'none'"), ('X-GitHub-Request-Id', 'EB4E:109E6:83D8B:8CA9B:606F12C2')]
|
||||
[]
|
||||
|
||||
Reference in New Issue
Block a user