public
Fork of relevance/smoke_signals
Description: CruiseControl.rb Campfire notifications
Homepage: http://opensource.thinkrelevance.com/wiki/smoke_signals
Clone URL: git://github.com/reagent/smoke_signals.git
reagent (author)
Wed Apr 23 06:41:02 -0700 2008
commit  6d425aa6a25a2831fabd0bc57234a91295f5d74d
tree    82a9ea1e8efad1396dbe1f82a26760c47eed0696
parent  efcdae51116aa39c708841c4c83c3e4b9ef5127e
name age message
file .gitignore Wed Apr 23 06:41:02 -0700 2008 Update documentation [reagent]
file HISTORY Mon Apr 21 20:07:17 -0700 2008 Minor updates to README and HISTORY files [reagent]
file README Wed Apr 23 06:41:02 -0700 2008 Update documentation [reagent]
file Rakefile Wed Apr 23 06:29:43 -0700 2008 Improve installer; add USAGE when installer fails [reagent]
file USAGE Wed Apr 23 06:29:43 -0700 2008 Improve installer; add USAGE when installer fails [reagent]
directory bin/ Wed Apr 23 06:29:43 -0700 2008 Improve installer; add USAGE when installer fails [reagent]
directory config/ Fri Apr 18 00:35:12 -0700 2008 Implemented multi-room announcment functionality [reagent]
file init.rb Mon Apr 21 20:02:45 -0700 2008 Convert to Gem and add installer [reagent]
directory lib/ Wed Apr 23 06:29:43 -0700 2008 Improve installer; add USAGE when installer fails [reagent]
directory test/ Wed Apr 23 06:29:43 -0700 2008 Improve installer; add USAGE when installer fails [reagent]
README
= Smoke Signals

== Description

A plugin for CruiseControl.rb offering the following features:
  * Sends notifications to a Campfire room with the build status (success, failure, fixed) along with a URL to the 
  build.
  * Detects and sends notifications of Subversion failures.
  * Supports different rooms per project from a single configuration file. 

== Installation

Download smoke_signals via git (git clone git://github.com/relevance/smoke_signals.git) or as a tarball 
(http://github.com/relevance/smoke_signals/tarball/master). Then, on your cruisecontrol.rb server:
 # rake package
 # sudo gem install pkg/smoke_signals_-<version>.gem
 # cd <CRUISE_ROOT_>
 # smoke_signals install
 # edit <CRUISE_ROOT>/config/smoke_signals.yml with your campfire specifics
 # restart CruiseControl.rb

== Configuration

The smoke_signals.yml configuration file allows you to configure the rooms for each individual CruiseControl
project.  Additionally, there is the concept of a 'default' room for an installation - any projects that do
not match a specific room will announce their messages to the default room.  A sample configuration:

    connection:
      subdomain: smokesig
      ssl?: false
      email: user@host.com
      password: secret
  
    rooms:
      Development: *
      Client:
        - ClientBuild
        - ClientCurrentRelease
      General: GeneralBuild

In this case, the projects 'ClientBuild' and 'ClientCurrentRelease' will announce messages to the 'Client' 
room. The project 'GeneralBuild' will announce messages to the 'General' Campfire room.  Any messages generated
from other projects will be announced into the 'Development' room - in this case the '*' designates it as the
default room.

== URLS

  * Home page: http://opensource.thinkrelevance.com/wiki/smoke_signals
  * git master: git://github.com/relevance/smoke_signals.git
  * CC.rb plugins documentation: http://cruisecontrolrb.thoughtworks.com/documentation/plugins

== LICENSE

Copyright (c) 2007-8 Relevance Inc. (Forked from http://rubyforge.org/projects/campfire-ccrb/)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.