Skip to content

kurttheviking/simple-hipchat-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Client for HipChat v1

Description

Easy peasy wrapper for the HipChat API v1. Exposes core URI endpoint wrapper and some basic methods for common integrations.

Dependencies

None beyond the Python standard library.

Usage

Install:

pip install python-simple-hipchat

Instantiate:

import hipchat
hipster = hipchat.HipChat(token=YourHipChatToken)

Request a URI endpoint as described in the HipChat API docs:

hipster.method(url='method/url/', method="GET/POST", parameters={'name':'value', })

Example:

# List rooms
hipster.method('rooms/list')

# Post a message to a HipChat room
hipster.method('rooms/message', method='POST', parameters={'room_id': 8675309, 'from': 'HAL', 'message': 'All your base...'})

API Sugar

To send a message to a room, either a Notification or Admin token can be used. All other methods require an Admin token. See HipChat's auth docs for more information.

Send a message to a room:

room_id = 8675309
from_name = 'HAL'
message = 'All your base...'

hipster.message_room(room_id, from_name, message)

# per HipChat, color can be "yellow", "red", "green", "purple", "gray", or "random"
message_color = 'gray'
hipster.message_room(room_id, from_name, message, color=message_color)

# notify users in the room
message_color = 'red'
hipster.message_room(room_id, from_name, message, color=message_color, notify=True)

List rooms:

hipster.list_rooms()

Find room by name:

room = hipster.find_room('Room Name')
print "Room Name has room id = %s" % (room['room_id'])

List users:

hipster.list_users()

Find user by name:

user = hipster.find_user('Raleigh Becket')
print "Raleigh Becket's status is = %s" % (user['status'])

Changelog

v0.4.x

v0.3.x

  • Added shortcut method for listing users (thanks @Raizex)
  • Added shortcut method for finding user by name (thanks @Raizex)
  • Added shortcut method for finding room by name (thanks @Raizex)
  • Added trove classifiers (thanks @ghickman)

v0.2.x

v0.1.x

  • Added shortcut method for messaging a room
  • Added shortcut method for listing rooms