# Useful Patches and Utilities for Bugzilla

Are you looking for a way to put your Bugzilla into overdrive? Catch some of the niftiest tricks here in this section.

## Apache `mod_rewrite` magic

Apache's `mod_rewrite`

module lets you do some truly amazing things with URL rewriting. Here are a couple of examples of what you can do.

1. Make it so if someone types `http://www.foo.com/12345`

   , Bugzilla spits back http://www.foo.com/show_bug.cgi?id=12345. Try setting up your VirtualHost section for Bugzilla with a rule like this:

       <VirtualHost 12.34.56.78>
       RewriteEngine On
       RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
       </VirtualHost>

2. There are many, many more things you can do with mod_rewrite. Please refer to the mod_rewrite documentation at http://www.apache.org.

## Command-line Bugzilla Queries

There are a suite of Unix utilities for querying Bugzilla from the command line. They live in the `contrib/cmdline` directory. However, they have not yet been updated to work with 2.16 (post-templatisation.). There are three files - `query.conf`, `buglist` and `bugs`.

`query.conf` contains the mapping from options to field names and comparison types. Quoted option names are "grepped" for, so it should be easy to edit this file. Comments (#) have no effect; you must make sure these lines do not contain any quoted "option".

`buglist` is a shell script which submits a Bugzilla query and writes the resulting HTML page to stdout. It supports both short options, (such as "-Afoo" or "-Rbar") and long options (such as "--assignedto=foo" or "--reporter=bar"). If the first character of an option is not "-", it is treated as if it were prefixed with "--default=".

The column list is taken from the COLUMNLIST environment variable. This is equivalent to the "Change Columns" option when you list bugs in buglist.cgi. If you have already used Bugzilla, grep for COLUMNLIST in your cookies file to see your current COLUMNLIST setting.

`bugs` is a simple shell script which calls `buglist` and extracts the bug numbers from the output. Adding the prefix "http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug list into a working link if any bugs are found. Counting bugs is easy. Pipe the results through `sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'`

Akkana Peck says she has good results piping `buglist` output through `w3m -T text/html -dump`