D.3. Command-line Bugzilla Queries

Users can query Bugzilla from the command line using this suite of utilities.

The query.conf file 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 columlist 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, use grep COLUMLIST ~/.netscape/cookies 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 says she has good results piping buglist output through w3m -T text/html -dump

  1. Download three files:

    1. bash$ wget -O query.conf 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26157'

    2. bash$ wget -O buglist 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26944'

    3. bash# wget -O bugs 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26215'

  2. Make your utilities executable: bash$ chmod u+x buglist bugs