Allow custom hipchat urls

This commit is contained in:
Brent Langston 2014-03-21 23:22:05 -04:00
parent f82ac9f8e9
commit 712e114dff

View file

@ -54,6 +54,13 @@ options:
default: 'yes'
choices: ['yes', 'no']
version_added: 1.5.1
api:
description:
- API url if using a self-hosted hipchat server
required: false
default: 'https://api.hipchat.com/v1/rooms/message'
version_added: 1.6.0
# informational: requirements for nodes
requirements: [ urllib, urllib2 ]
@ -68,11 +75,8 @@ EXAMPLES = '''
# HipChat module specific support methods.
#
MSG_URI = "https://api.hipchat.com/v1/rooms/message?"
def send_msg(module, token, room, msg_from, msg, msg_format='text',
color='yellow', notify=False):
color='yellow', notify=False, api='https://api.hipchat.com/v1/rooms/message'):
'''sending message to hipchat'''
params = {}
@ -81,13 +85,14 @@ def send_msg(module, token, room, msg_from, msg, msg_format='text',
params['message'] = msg
params['message_format'] = msg_format
params['color'] = color
params['api'] = api
if notify:
params['notify'] = 1
else:
params['notify'] = 0
url = MSG_URI + "auth_token=%s" % (token)
url = api + "?auth_token=%s" % (token)
data = urllib.urlencode(params)
response, info = fetch_url(module, url, data=data)
if info['status'] == 200:
@ -113,6 +118,7 @@ def main():
msg_format=dict(default="text", choices=["text", "html"]),
notify=dict(default=True, type='bool'),
validate_certs = dict(default='yes', type='bool'),
api = dict(default='https://api.hipchat.com/v1/rooms/message'),
),
supports_check_mode=True
)
@ -124,9 +130,10 @@ def main():
color = module.params["color"]
msg_format = module.params["msg_format"]
notify = module.params["notify"]
api = module.params["api"]
try:
send_msg(module, token, room, msg_from, msg, msg_format, color, notify)
send_msg(module, token, room, msg_from, msg, msg_format, color, notify, api)
except Exception, e:
module.fail_json(msg="unable to sent msg: %s" % e)