Fetch a tree of bugzilla bugs blocking a bug
use WWW::Bugzilla::BugTree;
my $tree = WWW::Bugzilla::BugTree->new(
url => 'http://bugzilla',
);
# $bug isa WWW::Bugzilla::BugTree::Bug
my $bug = $tree->fetch(749922);
print $bug;
foreach my $subbug (@{ $bug->children })
{
print $bug;
}
This module provides a way to fetch a tree of dependent bugs from Bugzilla.
You give it a bug id and it returns a tree of all the bugs that bug depends
on (or all the bugs that are blocking your bug). I wrote this to use the
XML
output of Bugzilla's show_bug.cgi
page because we are still using
Bugzilla 3.6, which doesn't provide dependency information via its API, which
would probably be faster.
There is also a companion script bug_tree which will print out the tree for you with pretty colors indicating each bug's status.
my $lwp = $tree->ua;
Instance of LWP::UserAgent used to fetch information from the bugzilla server.
my$url = $tree->url
The URI of the bugzilla server. You may pass in to the constructor either a string or a URI object. If you use a string it will be converted into a URI.
If not provided it falls back to using the BUG_TREE_URL
environment
variable, and if that isn't set it uses this bugzilla provided for
testing:
https://landfill.bugzilla.org/bugzilla-3.6-branch
my $bug = $tree->fetch($id);
Fetch the bug tree for the bug specified by the given id
. Returns
an instance of WWW::Bugzilla::BugTree::Bug.
$tree->clear_cache;
Clears out the cache.
bug_tree, WWW::Bugzilla::BugTree::Bug
Graham Ollis <plicease@cpan.org>
This software is copyright (c) 2013 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.