92 lines
4.2 KiB
Plaintext
92 lines
4.2 KiB
Plaintext
Copyright (c) 2005-2007, Dennis Kaarsemaker
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of version 2 of the GNU General Public License as
|
|
published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
The syntax to add a tracker is weird, here are some examples:
|
|
@bugtracker add freedesktop bugzilla https://bugs.freedesktop.org Freedesktop
|
|
@bugtracker add malone malone https://launchpad.net/malone Malone
|
|
@bugtracker add debian debbugs http://bugs.debian.org Debian
|
|
@bugtracker add openoffice issuezilla http://www.openoffice.org/issues OpenOffice
|
|
@bugtracker add django trac http://code.djangoproject.com/ticket Django
|
|
@bugtracker add gaim sourceforge http://sourceforge.net/tracker/?group_id=235&atid=100235 Gaim
|
|
|
|
In general: @bugtracker add <name> <type> <baseurl> [description]
|
|
Bugtracker dialects (types) this plugin understands:
|
|
* Bugzilla
|
|
* Issuezilla (OpenOffice.org's tjernobyl transformation of bugzilla)
|
|
* Malone
|
|
* Debbugs (debbugs sucks donkeyballs - please fix debbugs)
|
|
* Trac (with not-too-buggered-up templates, it needs to do screenscraping)
|
|
* Sourceforge (needs atid and group_id in the url!)
|
|
* WikiForms (see bugs.gnewsense.org for an example)
|
|
* str.php from the CUPS project
|
|
* Mantis (http://www.mantisbt.org)
|
|
|
|
To request a bug report, use this syntax:
|
|
|
|
bug 123
|
|
bug #123
|
|
supybot bug 123
|
|
bug 123, 4, 5
|
|
bug 1, 3 and 89
|
|
|
|
To rename a bugtracker:
|
|
@bugtracker rename old-name new-name
|
|
|
|
To change details of a bugtracker, just add it again and it will overwrite the
|
|
existing tracker.
|
|
|
|
The bug snarfing (responding to bug numbers/urls) will only work in channels
|
|
where supybot.plugins.bugtracker.bugsnarfer is True.
|
|
|
|
Automatic reporting of new bugs is also possible for Malone (the launchpad
|
|
bugtracker). Enabling this is not a trivial process. First step is to set the
|
|
supybot.plugins.bugtracker.reportercache variable to a dir for this purpose. You
|
|
also need a mail account that supports the + hack (mail for foo+bar@baz.com is
|
|
automatically delivered to foo@baz.com while the Delivered-To: header is set to
|
|
foo+bar@baz.com) which is accessible via IMAP. I know this is a rather strong
|
|
requirement, but that's the way it works now. Patches to make it work in other
|
|
situations are appreciated.
|
|
|
|
Anyway, once that is all set up you're almost there. Let's assume the
|
|
mailaddress is bugreporter@yourdomain.com. Now pick a tag for your bugreports,
|
|
e.g. ubuntu (you can set a different tag per channel) and create a launchpad
|
|
account with address bugreporter+ubuntu@yourdomain.com. Activate that account
|
|
and make sure it gets bugmail for the product(s) you want to monitor.
|
|
|
|
Now set the supybot.plugins.bugtracker.bugreporter in the channels where bugs
|
|
are to be reported to the value of the tag for bugs to be reported there and
|
|
watch bugs flowing in.
|
|
|
|
To prevent old bugs from showing up when they change or a comment is being
|
|
added, you can manually fill the cache. Just touch files in the reporters cache
|
|
with the following name:
|
|
|
|
tag_here/malone/NN/MMMM where NN is int(bugid/1000) and MMMM is the bugid.
|
|
|
|
If your products already have many bugreports, consider doing some
|
|
screenscraping with the malone searchpages and sed/awk :)
|
|
|
|
A quick hack I use to get all launchpad bugids preseeded:
|
|
|
|
cd /home/ubugtu/data/bugmail # This is my cachedir
|
|
cd launchpad # This is the tag
|
|
mkdir malone
|
|
product=launchpad
|
|
amount=2000 # 2000 is the amount of bugs, chck this on
|
|
# launchpad under all bugs ever reported
|
|
# Download a summary of all bugs
|
|
for x in `seq 0 75 $amount`; do
|
|
wget "https://bugs.launchpad.net/$product/+bugs?search=Search&field.status=Unconfirmed&field.status=Confirmed&field.status=In+Progress&field.status=Needs+Info&field.status=Fix+Committed&field.status=Fix+Released&field.status=Rejected&field.omit_dupes.used=&start=$x" -O $x;
|
|
done
|
|
grep -h =.amount * | sed -e 's/.*>\(.*\)<.*/\1/' | awk '{print "malone/" int($1/1000)}' | sort -u | xargs mkdir -p
|
|
grep -h =.amount * | sed -e 's/.*>\(.*\)<.*/\1/' | awk '{print "malone/" int($1/1000) "/" $1}' | xargs -n100 touch
|
|
|