LDP/LDP/retired/Bugzilla-Guide/patches.xml

114 lines
4.0 KiB
XML

<!-- <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
<title>Useful Patches and Utilities for Bugzilla</title>
<para>Are you looking for a way to put your Bugzilla into overdrive? Catch
some of the niftiest tricks here in this section.</para>
<section id="rewrite" xreflabel="Apache mod_rewrite magic">
<title>Apache
<filename>mod_rewrite</filename>
magic</title>
<para>Apache's
<filename>mod_rewrite</filename>
module lets you do some truly amazing things with URL rewriting. Here are
a couple of examples of what you can do.</para>
<orderedlist>
<listitem>
<para>Make it so if someone types
<computeroutput>http://www.foo.com/12345</computeroutput>
, 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:</para>
<programlisting><![CDATA[
<VirtualHost 12.34.56.78>
RewriteEngine On
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
</VirtualHost>
]]></programlisting>
</listitem>
<listitem>
<para>There are many, many more things you can do with mod_rewrite.
Please refer to the mod_rewrite documentation at
<ulink url="http://www.apache.org">http://www.apache.org</ulink>.
</para>
</listitem>
</orderedlist>
</section>
<section id="cmdline">
<title>Command-line Bugzilla Queries</title>
<para>There are a suite of Unix utilities for querying Bugzilla from the
command line. They live in the
<filename class="directory">contrib/cmdline</filename>
directory. However, they
have not yet been updated to work with 2.16 (post-templatisation.).
There are three files - <filename>query.conf</filename>,
<filename>buglist</filename> and <filename>bugs</filename>.</para>
<para><filename>query.conf</filename>
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".</para>
<para><filename>buglist</filename>
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=".</para>
<para>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.</para>
<para><filename>bugs</filename> is a simple shell script which calls
<filename>buglist</filename> 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
<command>sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</command>
</para>
<para>Akkana Peck says she has good results piping
<filename>buglist</filename> output through
<command>w3m -T text/html -dump</command>
</para>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
sgml-exposed-tags:nil
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
sgml-shorttag:t
sgml-tag-region-if-active:t
End:
-->