diff options
author | Zuul <zuul@review.opendev.org> | 2022-02-21 17:57:04 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-02-21 17:57:04 +0000 |
commit | 733c40cc0b52141c1f1dc00c8c1e5b99efe34ea7 (patch) | |
tree | 8590b78785e78af9ab007a148fbd259da001e6fe /zuul/driver/github | |
parent | 69c9ec33ae277ae30ab2ae561effb76a92f514b9 (diff) | |
parent | 66413b17cd9be8430a24f068c653f90d3702152b (diff) | |
download | zuul-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.py | 17 |
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') |