A CruiseControl.rb Plugin, that will send push notifications to your iPhone via Prowl
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
spec
README.markdown
prowl_notifier.rb

README.markdown

ProwlNotifier Plugin for CruiseControl.rb

This plugin will send notifications to your iPhone or those of your developers whenever a build is broken or fixed. It uses push notifications introduced in iPhone OS 3.0, an application called Prowl (Homepage), and a RubyGem called Prowler. Optionally it makes use of the ShortURL RubyGem to shorten links to build pages. We would like to thank the developers of these great tools, since their work made our task a piece-o-cake.

Installation

  1. Copy prowl_notifier.rb to $CRUISE_CONTROL_DIR/lib/builder_plugins
  2. Install the prowler gem
  3. Create project specific settings (see Configuration)
  4. Restart your CruiseControl.rb server
  5. Done

Supported Events

The ProwlNotifier currently sends notifications whenever

  • A build was broken
  • A build was fixed

However, CruiseControl.rb's flexibility and ProwlNotifier's simplicity will easily allow you to implement notifications for any other event related to your build process. See the CruiseControl.rb Documentaion for futher information on plugin events.

Configuration

This plugin supports two simple configuration options.

Who shall receive notifications

Similar to the EmailNotifier delivered with CruiseControl.rb, you need to configure the receivers of your notifications. Since Prowl's API is based on Keys, every receiver is identified by his/her API key. You may find the individual key after logging into prowl.weks.net on the settings page.

To tell ProwlNotifier where to sent the notifications add the following lines inside your project's configuration (in ~/.cruise/projects/$PROJECT_NAME/cruise_config.rb)

Project.configure do |project|

  # Sent prowl notifications
  project.prowl_notifier.keys = [
      "key_of_developer",
      "key_of_manager"
    ]

end

Who sent the notifications

You may additionally configure the sender's name. This is useful, when you are managing multiple CruiseControl.rb instances and you like to easily spot them in your notifications.

Project.configure do |project|

  # Prowl notification are sent from ... - CruiseControl.rb is default
  project.prowl_notifier.from = "CruiseControl.rb"

end

Where do I get more information

If your CruiseControl.rb is configured using the $HOME/.cruise/site_config.rb to know the Configuration.dashboard_url, a link to the build page will be included in the message. When the ShortURL gem is present, the link will also be shortened using RubyURL. See the comments of the above mentioned site_config.rb for more detailed information.

License

Copyright (c) 2009, Gregor Schmidt, Finn GmbH

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.