Maintaining the OpenHatch bug tracker

From OpenHatch wiki
Jump to navigation Jump to search

This is a page about improving or modifying OpenHatch.

We call that "Hacking OpenHatch," and there is a whole category of pages about that.

What is Roundup?[edit]

Roundup is the issue-tracking system that we use. If you are looking to file a bug, you should go to the web interface here.

Who can edit the OpenHatch bug tracker?[edit]

  • Asheesh Laroia and Jack Grigg and Jessica McKellar have Admin status on the web interface and shell access to the tracker.

How do I access the server backend?[edit]

Shell access to the Roundup tracker is via the user roundup, and SSH keys are used for authentication. You will need to have been given shell access (i.e. your SSH public key will need to have been added to the list of allowed keys for authenticating as roundup). Once your private key is somewhere that SSH can access it (for GNU/Linux users this is usually the .ssh folder in your home directory), you can log into the server:

ssh roundup@linode.openhatch.org

Once you are logged in[edit]

You will start in the home directory of the user roundup, which is at

/var/lib/roundup

The Roundup tracker that we all know and love is kept in the folder

trackers/bugs/

(the folder "trackers/issues/" contains an old unused Roundup instance that is kept for archive's sake). The layout of the tracker is described here.

How do I change X in Roundup?[edit]

We won't go through every single feature of Roundup here - that is better left to the Roundup docs - but there are a few common things that you may need to do.

Add or change a status[edit]

There are several parts to doing this:

  • Adding the new status to the database
    • This requires having Admin status for your username on the tracker. Edit the list of statuses, either adding your new status at the end or changing an existing status.
      • Any new status will need to have an id one greater than the largest current id. (This means don't try use an id of 7, I don't know where that one went but Roundup has already reserved it.)
      • The 'order' is used to sort the statuses in lists such as on the issue or search pages. You can have fractional values if needed to insert a status between other ones.
  • Editing the templates
    • You will only need to do this if your status is a 'not-resolved' type of status (which is very likely). These edits change the default views and some links so that issues with your status are displayed at the right times. Look for the string of comma-separated numbers (there is one line in each file), and append the id of your status to these strings. The following files will need attention (line numbers could be incorrect depending on what other changes have been made):
      • html/home.html (line 10)
      • html/issue.search.html (lines 137 and 138)
      • html/page.html (line 24)

Change the people added by default to the nosy list[edit]

The list of people added by default to the nosy list, and the code responsible for adding them, is kept here:

detectors/nosyreaction.py

Edit this file, adding or removing usernames from the list at the top as required.

Restarting Roundup[edit]

Once your changes are complete, you will need to restart Roundup so that it picks up your changes:

sudo /etc/init.d/roundup restart

Note: This will work for anyone logged in as the Roundup user, because sudo has been configured to allow it.

Public code[edit]