Skip to content

smathieu/hipchat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HipChat Wrapper

A very basic wrapper for the HipChat HTTP API.

Usage

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')

Capistrano

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.

RAILS_ROOT/config/hipchat.yml:
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.

RAILS_ROOT/deploy/after_restart.rb:

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}'"
end

Copyright

Copyright © 2010 Mojo Tech. See LICENSE for details.

About

HipChat HTTP API Wrapper in Ruby with Capistrano hooks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%