From fde770054337313e2b9587ae7360272ff7d25a81 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Wed, 13 Dec 2017 13:31:23 -0500 Subject: [PATCH] Log payload on 503 errors EDUCATOR-1956 --- openedx/core/djangoapps/zendesk_proxy/utils.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/openedx/core/djangoapps/zendesk_proxy/utils.py b/openedx/core/djangoapps/zendesk_proxy/utils.py index 9a0c3cab4f..4230031cbe 100644 --- a/openedx/core/djangoapps/zendesk_proxy/utils.py +++ b/openedx/core/djangoapps/zendesk_proxy/utils.py @@ -20,9 +20,9 @@ def create_zendesk_ticket(requester_name, requester_email, subject, body, tags=N common/djangoapps/util/views.py). Both of those callers use basic auth, and should be switched over to this oauth implementation once the immediate pressures of zendesk_proxy are resolved. """ - if not (settings.ZENDESK_URL and settings.ZENDESK_OAUTH_ACCESS_TOKEN): - log.debug('Zendesk is not configured. Cannot create a ticket.') - return status.HTTP_503_SERVICE_UNAVAILABLE + def _std_error_message(details, payload): + """Internal helper to standardize error message. This allows for simpler splunk alerts.""" + return 'zendesk_proxy action required\n{}\nNo ticket created for payload {}'.format(details, payload) # Remove duplicates from tags list tags = list(set(tags)) @@ -42,6 +42,10 @@ def create_zendesk_ticket(requester_name, requester_email, subject, body, tags=N # Encode the data to create a JSON payload payload = json.dumps(data) + if not (settings.ZENDESK_URL and settings.ZENDESK_OAUTH_ACCESS_TOKEN): + log.error(_std_error_message("zendesk not configured", payload)) + return status.HTTP_503_SERVICE_UNAVAILABLE + # Set the request parameters url = urljoin(settings.ZENDESK_URL, '/api/v2/tickets.json') headers = { @@ -49,10 +53,6 @@ def create_zendesk_ticket(requester_name, requester_email, subject, body, tags=N 'Authorization': "Bearer {}".format(settings.ZENDESK_OAUTH_ACCESS_TOKEN), } - def _std_error_message(details, payload): - """Internal helper to standardize error message. This allows for simpler splunk alerts.""" - return 'zendesk_proxy action required\n{}\nNo ticket created for payload {}'.format(details, payload) - try: response = requests.post(url, data=payload, headers=headers)