Allow custom hipchat urls

reviewable/pr18780/r1
Brent Langston 11 years ago
parent 3b710005ad
commit bf42535341

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

Loading…
Cancel
Save