Hacking HOWTO


This covers setting up a development environment for Scrumbugz. If you’re interested in running Scrumbugz, then you should checkout Installing Scrumbugz.

Setup for development


  • Bugzilla 4+
  • The Bugzilla XMLRPC API.

Currently, scrumbugz uses Bugzilla searches for Product(s)/Component(s) and bug IDs via the XMLRPC api (/xmlrpc.cgi).

Thus, in order to use Scrumbugz, you need a Bugzilla instance that’s running a recent version of Bugzilla and the Bugzilla API. We think the minimum version is Bugzilla 4, but haven’t verified this.


You don’t need to install Bugzilla on your machine. As long as you have access to a Bugzilla server, you’re fine.

Create virtual environment

Create and activate the virtual environment:

virtualenv venv
source venv/bin/activate


You don’t have to put your virtual environment in ./venv/. Feel free to put it anywhere.

Get dependencies


pip install -r requirements-dev.txt

That sets up all the dependencies required.


Then you should create a local file. First, copy the template over:

cp settings/local.py-dist settings/local.py

and edit it.

Set up the db


./manage.py syncdb
./manage.py migrate

This also creates a superuser which you can use to log into the Django admin page at http://localhost:8000/admin.

Set up Cache

By default the settings/local.py file is set up for a local memory cache. This should be fine for local testing and you shouldn’t need to do anything else. If you’d like to more closely mimic production, you can install memcached or Redis and configure the CACHES setting in settings/local.py accordingly.

Run it

./manage.py runserver

Static media will be handled automatically by Django’s built-in handler.

Setting up a project

  1. Pull up the Django admin page at http://localhost:8000/admin.
  2. Login with the admin account you setup during syncdb,
  3. then go back to the home page at http://localhost:8000/.

Once you’re logged in, you’ll see buttons for creating and editing projects and sprints. If your superuser account’s email address is registered with Mozilla Persona, you can also login using the Sign In link on the right of the nav bar.

The Bugzilla url for a sprint should be the url for a query defining the sprint. For example, SUMO uses the target to define sprints, so the query url for our 2012.6 sprint is: