Skip to content

Commit e88fa45

Browse files
committed
Don't expect commit_id for PullReview
In some cases, a PullReview may not have a commit_id (I am not sure why that is). In this case, we should not always expect it to be there. 2019-05-30 21:20:25,678 ERROR zuul.GithubEventConnector: Exception moving GitHub event: Traceback (most recent call last): File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/github3/models.py", line 48, in __init__ self._update_attributes(json) File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/github3/pulls.py", line 961, in _update_attributes self.commit_id = review["commit_id"] KeyError: 'commit_id' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 484, in run GithubEventProcessor(self, data).run() File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 218, in run self._handle_event() File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 265, in _handle_event refresh=True) File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 903, in _getChange self._updateChange(change) File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 1008, in _updateChange change.number) File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 1246, in getPullReviews revs = [review.as_dict() for review in pr_obj.reviews()] File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 1246, in <listcomp> revs = [review.as_dict() for review in pr_obj.reviews()] File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/github3/structs.py", line 122, in __iter__ yield cls(i) File "/opt/venv/zuul-3.8.1/lib/python3.6/site-packages/github3/models.py", line 50, in __init__ raise exceptions.IncompleteResponse(json, kerr) github3.exceptions.IncompleteResponse: None The library was expecting more data in the response (KeyError('commit_id',)). Either GitHub modified it's response body, or your token is not prop erly scoped to retrieve this information. https://api.github.com/repos/ansible/ansible/pulls/45469/reviews Signed-off-by: Paul Belanger <[email protected]>
1 parent db1f7e7 commit e88fa45

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/github3/pulls.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,9 @@ def _update_attributes(self, review):
958958
self.body = review["body"]
959959
self.body_html = review["body_html"]
960960
self.body_text = review["body_text"]
961-
self.commit_id = review["commit_id"]
961+
# NOTE(pabelanger): In some cases, commit_id could be missing on a
962+
# PullReview.
963+
self.commit_id = review.get("commit_id", None)
962964
self.html_url = review["html_url"]
963965
self.user = users.ShortUser(review["user"], self)
964966
self.state = review["state"]

0 commit comments

Comments
 (0)