From 674c16bf3be490e93aa8f690b8ccd40cf1fe3178 Mon Sep 17 00:00:00 2001 From: Quentin Machu Date: Thu, 22 Oct 2015 11:21:34 -0400 Subject: [PATCH 1/2] Add logging on BitBucket schema validation exception Chatty but worthy No need to create a custom debugging web hook anymore for Bitbucket --- buildtrigger/bitbuckethandler.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/buildtrigger/bitbuckethandler.py b/buildtrigger/bitbuckethandler.py index 669702b79..879448456 100644 --- a/buildtrigger/bitbuckethandler.py +++ b/buildtrigger/bitbuckethandler.py @@ -183,6 +183,7 @@ def get_transformed_commit_info(bb_commit, ref, default_branch, repository_name, try: validate(bb_commit, BITBUCKET_COMMIT_INFO_SCHEMA) except Exception as exc: + logger.exception('Exception when validating Bitbucket commit information: %s from %s', exc.message, bb_commit) raise InvalidPayloadException(exc.message) commit = JSONPathDict(bb_commit) @@ -216,6 +217,7 @@ def get_transformed_webhook_payload(bb_payload, default_branch=None): try: validate(bb_payload, BITBUCKET_WEBHOOK_PAYLOAD_SCHEMA) except Exception as exc: + logger.exception('Exception when validating Bitbucket webhook payload: %s from %s', exc.message, bb_payload) raise InvalidPayloadException(exc.message) payload = JSONPathDict(bb_payload) From 37a4dafe40ec52342098ab32828e6d7433fbec2c Mon Sep 17 00:00:00 2001 From: Quentin Machu Date: Thu, 22 Oct 2015 11:24:17 -0400 Subject: [PATCH 2/2] Use expected exception for BitBucket OAuth error Prevents from having a 500 when BitBucket OAuth doesn't work, as it will be caught in web.py/attach_bitbucket_trigger --- buildtrigger/bitbuckethandler.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/buildtrigger/bitbuckethandler.py b/buildtrigger/bitbuckethandler.py index 879448456..e14d75b09 100644 --- a/buildtrigger/bitbuckethandler.py +++ b/buildtrigger/bitbuckethandler.py @@ -300,7 +300,7 @@ class BitbucketBuildTrigger(BuildTriggerHandler): bitbucket_client = self._get_client() (result, data, err_msg) = bitbucket_client.get_authorization_url() if not result: - raise RepositoryReadException(err_msg) + raise TriggerProviderException(err_msg) return data @@ -547,4 +547,3 @@ class BitbucketBuildTrigger(BuildTriggerHandler): repository_name, lookup_author) return self.prepare_build(metadata, is_manual=True) -