Jeff Kreeftmeijer

Keeping up with the Rails Lighthouse

2011-02-28

Lighthouse is the issue tracker that’s used for Ruby on Rails’ ticket management, for everything from bugs to patches to improvements. While it works great most of the time, sometimes it seems like it’s not built for projects this big and the amount of tickets and updates can seem overwhelming. In this article I’ll try to explain my way of keeping up, which has been working for me over the last few weeks.

Lighthouse provides an RSS feed for project events so you immediately know when tickets get created, updated and closed, as well as all sorts of other stuff. While that might sound like the perfect solution, this feed is practically useless for a project as big and active as Rails because there’s too much going on to keep up with.

It didn’t take me long to unsubscribe from the fire hose and decide to change my strategy. I ended up watching tickets that seemed interesting and setting up email notifications. This way, Lighthouse sends me an email whenever one of my watched tickets get updated. I also have a filter in Gmail to catch everything coming from Lighthouse, label it with “rails” and skip my inbox. Now and again, I’ll go through the messages with this label and see if I can do anything to help out.

The watched tickets don’t automatically get un-watched when a they’re closed. Most of the time this is not a problem because closed tickets don’t get commented on anymore. Spammers sometimes do, so I usually mark that comment as spam and un-watch the ticket manually after receiving a spammy email.

Where do I find tickets to watch?

It’s nice to be able to follow tickets you’re already involved with, but finding the ones you’re interested in —because you don’t want to watch everything that gets created— can be quite difficult too.

I went through “this week”-bin every once in a while to find tickets to watch, comment on or write a patch for. Because there’s no good way to see if you’ve already read a specific ticket, this turned out to be quite a task.

The ticket filtering helped me a lot here. You can filter on queries like `created:"this week" state:open` or even order tickets, like `order:number-`.

Diving into Lighthouse every once in a while to find tickets to watch became quite tedious, so I decided to try and solve it myself. It turned out that the filtering you can do in the Lighthouse interface works in their API too, so I built a stupid-simple Sinatra app to fetch tickets from it and turn them into an RSS feed.

Using Lighthouse Keeper, I’m now subscribed to a feed that shows me tickets ordered by ticket number (`order:number-`). This means new tickets automatically end up in my feed reader. Whenever something interesting comes along, I’ll comment on the ticket, watch it, or assign it to myself if I feel confident enough to write a patch and help push it through.

Needless to say, I would love Lighthouse to provide RSS feeds like this. (hint, hint)

I’m curious how you’re keeping up with the Rails Lighthouse too, so be sure to tell me in the comments. Of course you can use Keeper too and if you find something that can be improved, let me know or fork the gist.