diff --git a/library/notification/stackdriver b/library/notification/stackdriver index 331b8c5eb54..5ac889a212f 100644 --- a/library/notification/stackdriver +++ b/library/notification/stackdriver @@ -70,9 +70,9 @@ options: ''' EXAMPLES = ''' -- stackdriver: key=AAAAAA event=deploy deployed_to=production deployed_by=leroyjenkins repository=MyWebApp revision_id=abcd123 +- stackdriver: key=AAAAAA event=deploy deployed_to=production deployed_by=leeroyjenkins repository=MyWebApp revision_id=abcd123 -- stackdriver: key=AAAAAA event=annotation msg="Greetings from Ansible" annotated_by=leroyjenkins level=WARN instance_id=i-abcd1234 +- stackdriver: key=AAAAAA event=annotation msg="Greetings from Ansible" annotated_by=leeroyjenkins level=WARN instance_id=i-abcd1234 ''' # =========================================== @@ -96,12 +96,7 @@ def send_deploy_event(module, key, revision_id, deployed_by='Ansible', deployed_ if repository: params['repository'] = repository - data = json.dumps(params) - - req = urllib2.Request(deploy_api, data) - req.add_header('content-type', 'application/json') - req.add_header('x-stackdriver-apikey', key) - return urllib2.urlopen(req) + return do_send_request(module, deploy_api, params, key) def send_annotation_event(module, key, msg, annotated_by='Ansible', level=None, instance_id=None, event_epoch=None): """Send an annotation event to Stackdriver""" @@ -118,12 +113,18 @@ def send_annotation_event(module, key, msg, annotated_by='Ansible', level=None, if event_epoch: params['event_epoch'] = event_epoch + return do_send_request(module, annotation_api, params, key) + +def do_send_request(module, url, params, key): data = json.dumps(params) + headers = { + 'Content-Type': 'application/json', + 'x-stackdriver-apikey': key + } + response, info = fetch_url(module, url, headers=headers, data=data, method='POST') + if info['status'] != 200: + module.fail_json(msg="Unable to send msg: %s" % info['msg']) - req = urllib2.Request(annotation_api, data) - req.add_header('content-type', 'application/json') - req.add_header('x-stackdriver-apikey', key) - return urllib2.urlopen(req) # =========================================== # Module execution.