Scrummy look at Bugzilla data. Discuss in #scrum on irc.mozilla.org.
Python JavaScript CSS Makefile Shell
Switch branches/tags
Nothing to show
Latest commit b527b0c Jan 12, 2015 @pmac pmac Upgrade Django to 1.6.9.
Permalink
Failed to load latest commit information.
bin Fix gunicorn workers setting. Add NR ping to deploy scripts. May 14, 2014
bugmail Add a static helper function to use hashed files. May 14, 2014
bugzilla fixes Bug 938346 - attachment flag labeling doesn't ignore obsolete a… Nov 14, 2013
deploy Fix gunicorn workers setting. Add NR ping to deploy scripts. May 14, 2014
docs Synchronize README.rst and hacking_howto.rst (and describe admin login). Sep 8, 2013
scrum Remove bz.js library since it is now unused Nov 10, 2014
settings Replace typeahead with select2. May 23, 2014
templates Force the csrftoken cookie to be sent with anonymous requests. May 14, 2014
.coveragerc Fix nose test cmd. Add coverage settings. Aug 1, 2012
.editorconfig Fix #131: Switch to bootstrap-datepicker from jQuery tools. May 22, 2014
.gitignore Switch prod celery backend to redis. Sep 13, 2012
.jshintignore Replace typeahead with select2. May 23, 2014
.jshintrc Configure jshint and cleanup js issues. Jul 19, 2012
.slugignore Remove static from slugignore file so collectstatic will work from he… Jun 11, 2012
.travis.yml Clean up travis config and settings. May 30, 2012
LICENSE.txt Changed license to MPL boilerplate, removed copyright Jul 10, 2012
Procfile Remove celery events and up concurrency on worker. Sep 9, 2013
README.rst Synchronize README.rst and hacking_howto.rst (and describe admin login). Sep 8, 2013
__init__.py Setup initial project and basic sprint model. Feb 17, 2012
context_processors.py Add ability to clear BZ data cache. Close #8. Mar 1, 2012
copy_prod_db_to_dev.sh Make bug refresh async (hack). Aug 22, 2012
fabfile.py Fix Persona login. Oct 10, 2012
manage.py Upgrade to Django 1.4. Jun 11, 2012
middleware.py Redirect to domain if not there already. Mar 1, 2012
requirements-base.txt Upgrade Django to 1.6.9. Jan 12, 2015
requirements-dev.txt Upgrade all the things! May 14, 2014
requirements.txt Upgrade all the things! May 14, 2014
restore_db_dump.sh Add bug detail page. Jul 22, 2013
urls.py Upgrade Django and django-browserid. May 7, 2014
wsgi.py Add WhiteNoise for serving static media. May 11, 2014

README.rst

README

This is the software that runs https://scrumbu.gs/ .

This allows you to manage sprints backed by Bugzilla data.

Project details

Code:
https://github.com/mozilla/scrumbugz
Issues:
https://github.com/mozilla/scrumbugz/issues
CI:
Travis CI
IRC:
#scrum on irc.mozilla.org

Setup for development

Requirements

  • 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.

Note

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

Note

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

Get dependencies

Run:

pip install -r requirements-dev.txt

That sets up all the dependencies required.

Configure

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

Run:

./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:

https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20product%3Asupport%20milestone%3A2012.6