Made URL an optional parameter

This commit is contained in:
Bruce Pennypacker 2013-11-07 15:39:41 +00:00
parent 83b00e60e3
commit 3857d65431

View file

@ -47,6 +47,11 @@ options:
description: description:
- A hash, number, tag, or other identifier showing what revision was deployed - A hash, number, tag, or other identifier showing what revision was deployed
required: false required: false
url:
description:
- Optional URL to submit the notification to. Use to send notifications to Airbrake-compliant tools like Errbit.
required: false
default: https://airbrake.io/deploys
# informational: requirements for nodes # informational: requirements for nodes
requirements: [ urllib, urllib2 ] requirements: [ urllib, urllib2 ]
@ -89,6 +94,7 @@ def main():
user=dict(required=False), user=dict(required=False),
repo=dict(required=False), repo=dict(required=False),
revision=dict(required=False), revision=dict(required=False),
url=dict(required=False, default='https://airbrake.io/deploys')
), ),
supports_check_mode=True supports_check_mode=True
) )
@ -110,21 +116,23 @@ def main():
params["api_key"] = module.params["token"] params["api_key"] = module.params["token"]
url = module.params.get('url')
# If we're in check mode, just exit pretending like we succeeded # If we're in check mode, just exit pretending like we succeeded
if module.check_mode: if module.check_mode:
module.exit_json(changed=True) module.exit_json(changed=True)
# Send the data to airbrake # Send the data to airbrake
try: try:
req = urllib2.Request("https://airbrake.io/deploys", urllib.urlencode(params)) req = urllib2.Request(url, urllib.urlencode(params))
result=urllib2.urlopen(req) result=urllib2.urlopen(req)
except Exception, e: except Exception, e:
module.fail_json(msg="unable to update airbrake: %s" % e) module.fail_json(msg="unable to update airbrake via %s : %s" % (url, e))
else: else:
if result.code == 200: if result.code == 200:
module.exit_json(changed=True) module.exit_json(changed=True)
else: else:
module.fail_json(msg="HTTP result code: %d" % result.code) module.fail_json(msg="HTTP result code: %d connecting to %s" % (result.code, url))
# this is magic, see lib/ansible/module_common.py # this is magic, see lib/ansible/module_common.py
#<<INCLUDE_ANSIBLE_MODULE_COMMON>> #<<INCLUDE_ANSIBLE_MODULE_COMMON>>