I’ve had some downtime between Firefox releases and chose to work on a pet project on-and-off for the past week. I’m announcing it today as bugzilla-amqp.

What is bugzilla-amqp?

A server-side Bugzilla extension that sends messages to a message broker via AMQP whenever a Bugzilla object (bug, keyword, component, etc) is created or modified.

Why?

It enables push notifications for interesting events in Bugzilla! This is a big deal. Tools no longer have to poll the various APIs when dealing with bug data…instead they can sit back and get notified! Want to know when you are CC’d? Easy! Want to know when a new bug is written? No problem! Take a look at the quick demo video (webm, theora…warning, large!)

Because it talks AMQP, tools interested in the Bugzilla messages/events can be written in just about any language you want for any platform you want.

The impetus for writing this extension came from the desire to integrate Mozilla Pulse (running RabbitMQ) with bugzilla.mozilla.org, having push messages end-to-end.

Sounds awesome! I want this on bugzilla.mozilla.org now!

It won’t be rolled out on bmo for a bit yet. All these need to happen:

  1. There are some features that need to be added first (like, uh, security)
  2. After that, because there is a fair amount of code (as far as Bugzilla extensions go), it will likely need to go through a security review
  3. Performance testing needs to happen so that it doesn’t bring down bmo inadvertently
  4. The server running Mozilla Pulse needs to get beefier and the traffic expectations with IT have to be revisited (I promised them it was a prototype after all…)

I have filed bug 589322 to track putting the extension into production on bmo.

Ok, still sounds awesome…where do I get the code?

I’ve put it at http://github.com/LegNeato/bugzilla-amqp. Let me know if you use it and/or find any issues and feel free to fork away!

Are you some hardcore Bugzilla hacker?

Nope, I’m a Firefox release manager :-). The Bugzilla extension system is pretty easy…I highly suggest you take a look if you ever wished Bugzilla did something differently or wanted a feature added.

Tagged with:  

4 Responses to Push notifications for Bugzilla!

  1. smaug says:

    So in a way this reasonable close to bugzilla “whining”?
    Although “whining” seems to be limited to happen no more often
    than every 15 mins.

    • Christian says:

      Yep, same sort of idea except this is:
      * Instant
      * Structured
      * Happens for everything…if an admin creates a new keyword, there is a message for that, when a user signs up there is a message for that, etc
      * You get the benefit of the message broker queues, which means FIFO delivery with message acks, able to subscribe to only information you care about (“bug.changed.cc” instead of “bug.changed.keywords”), etc

      It’s pretty much like having a global watcher and instead of email messages getting them in a format that tools can readily use (and then send emails if that’s what’s desired).

  2. sonny says:

    Intersting,
    I’m curious, Why did you choose RabbitMQ instead of XMPP?
    Is there any reasons?