HipChat HTTP API Wrapper in Ruby with Capistrano hooks
#5 Compare This branch is 321 commits behind hipchat:master.
Latest commit 4456ac0 Aug 31, 2012 @cpjolicoeur cpjolicoeur Merge pull request #23 from ismaelga/master
Just a little formatting fix on Readme file
Failed to load latest commit information.
spec Adjusted test suite for notify depreciations Nov 28, 2011
.gitignore Initial commit to hipchat. Oct 25, 2010
LICENSE Change copyright. Oct 26, 2010


HipChat Wrapper

A very basic wrapper for the HipChat HTTP API.


client = HipChat::Client.new(api_token)
client['my room'].send('username', 'I talk')

# Send notifications to users (default false)
client['my room'].send('username', 'I quit!', :notify => true)

# Color it red. or "yellow", "green", "purple", "random" (default "yellow")
client['my room'].send('username', 'Build failed!', :color => 'red')


require 'hipchat/capistrano'

set :hipchat_token, "<your token>"
set :hipchat_room_name, "Your room"
set :hipchat_announce, false # notify users
set :hipchat_color, 'green' #finished deployment message color
set :hipchat_failed_color, 'red' #cancelled deployment message color

Who did it?

To determine the user that is currently running the deploy, the capistrano tasks will look for the following:

  1. The $HIPCHAT_USER environment variable
  2. The hipchat_human capistrano var.
  3. The git user.name var.
  4. The $USER environment variable.

Rails 3 Rake Task

Send a message using a rake task:

rake hipchat:send["hello world"]

Options like the room, API token, user name and notification flag can be set in YAML.


token: "<your token>"
room: "Your room"
user: "Your name" # Default to `whoami`
notify: true # Defaults to false

Engine Yard

Use a deploy hook to send messages from Engine Yard’s Cloud platform.


on_app_master do
  message  = "Deploying revision #{revision[0...6]} to #{node[:environment][:name]}"
  message += " (with migrations)" if migrate?
  message += "."

  # Send a message via rake task assuming a hipchat.yml in your config like above
  run "cd #{release_path} && bundle exec rake hipchat:send MESSAGE='#{message}'"


Copyright © 2010 Mojo Tech. See LICENSE for details.