HipChat HTTP API Wrapper in Ruby with Capistrano hooks
Switch branches/tags
Clone or download
Pull request Compare This branch is 1 commit ahead, 390 commits behind hipchat:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.


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

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 #{@configuration[:revision][0...6]}"
  message += " to #{@configuration[:environment]}"
  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} && rake hipchat:send MESSAGE='#{message}'"


Copyright © 2010 Mojo Tech. See LICENSE for details.