summaryrefslogtreecommitdiff
path: root/zuul/driver/github
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-02-21 17:57:04 +0000
committerGerrit Code Review <review@openstack.org>2022-02-21 17:57:04 +0000
commit733c40cc0b52141c1f1dc00c8c1e5b99efe34ea7 (patch)
tree8590b78785e78af9ab007a148fbd259da001e6fe /zuul/driver/github
parent69c9ec33ae277ae30ab2ae561effb76a92f514b9 (diff)
parent66413b17cd9be8430a24f068c653f90d3702152b (diff)
downloadzuul-733c40cc0b52141c1f1dc00c8c1e5b99efe34ea7.tar.gz
Merge "github: a change in .gitub/ may prevent a merge"
Diffstat (limited to 'zuul/driver/github')
-rw-r--r--zuul/driver/github/githubconnection.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/zuul/driver/github/githubconnection.py b/zuul/driver/github/githubconnection.py
index e56063d58..90c10eef0 100644
--- a/zuul/driver/github/githubconnection.py
+++ b/zuul/driver/github/githubconnection.py
@@ -1969,15 +1969,24 @@ class GithubConnection(ZKChangeCacheMixin, ZKBranchCacheMixin, BaseConnection):
else:
result = data["merged"]
except Exception as e:
+ api_message = None
if hasattr(e, 'response'):
- response = e.response
try:
- raise MergeFailure('Pull request merge failed: '
- '%s' % response.json().get('message'))
+ api_message = e.response.json().get('message')
except ValueError:
# There was no json body so use the generic message below.
pass
- raise MergeFailure('Pull request merge failed: %s' % e)
+
+ msg = None
+ if api_message == "Resource not accessible by integration":
+ msg = (f'Pull request merge failed: {api_message}, '
+ 'You may need to manually rebase your PR and '
+ 'retry.')
+ elif api_message:
+ msg = f'Pull request merge failed: {api_message}'
+ else:
+ msg = 'Pull request merge failed: %s' % e
+ raise MergeFailure(msg)
if not result:
raise MergeFailure('Pull request was not merged')