Post deployment log to Basecamp April 5th
I guess many of you have been reading the recent Signal vs. Noise blog post titled Using Basecamp to automatically keep track of product releases. I found it rather inspiring so I started to work on something similar for my own projects.
Out of that effort comes a super simple Capistrano plugin that grabs the first line from each commit (the subject in Git lingo) that happened between the last deploy and the current one and posts it as a new message to a pre-defined project (and category) on your Basecamp account using the Basecamp API.
Installation
$ cd <yourapp>/vendor/plugins
$ git clone git@github.com:scoop/basecamp_notify.git
It automatically hooks itself into your deployment process after deploy:symlink has run. Here’s a direct link to the GitHub repository.
If you don’t have git, you can download a tarball from GitHub, but read the caveat in the next section.
Configuration
The download ships with an example YAML configuration that needs to go into <yourapp>/config/basecamp.yml. It takes your Basecamp URL, username, and password as well as the numeric IDs for the project and category to post to, respectively.
Caveat: Since I wanted a fairly concise output in my posted messages (resembling what 37signals has in their example), I used a special command-line argument formatting thingamagick that only Git understands, so the plugin could be considered Git-only for now. Feel free to send in a patch that does the same for subversion.

Questions?
Email me at patrick@limited-overload.de if you have questions. Hope it’s useful for some of you.
UPDATE 04/11: basecamp_notify now has support for Subversion repositories. Thanks pyrat.

1 comment
Jump to comment form