NAME
Youri::BTS::Bugzilla - Youri Bugzilla interface
SYNOPSIS
use Youri::BTS::Bugzilla;
my $bugzilla = Youri::BTS::Bugzilla->new();
print $bugzilla->get_maintainer('foobar');
DESCRIPTION
This module implement a Bugzilla interface for managing packages.
The legacy Bugzilla database model is mapped this way:
a maintainer is a user
a package is a product
each package has two pseudo components "program" and "package", owned by the package maintainer
CLASS METHODS
Except stated otherwise, maintainers are specified by their login, and packages are specified by their name.
new(%args)
Creates a new Youri::Bugzilla object.
Parameters:
- lib $lib
-
Bugzilla library directory (default: /usr/share/bugzilla/lib).
- project $project
-
Bugzilla project.
INSTANCE METHODS
has_package($package)
Return true if bugzilla contains given package.
has_maintainer($maintainer)
Return true if bugzilla contains given maintainer.
get_maintainer($package)
Return maintainer of given package.
get_versions($package)
Return versions from given package.
get_components($package)
Return components from given package.
get_packages()
Return all packages from the database.
add_package($name, $summary, $version, $maintainer, $contact)
Adds a new package in the database, with given name, summary, version, maintainer and initial QA contact.
add_version($package, $version)
Adds a new version to given package.
add_maintainer($name, $login)
Adds a new maintainer in the database, with given name, login and password.
del_package($package)
Delete given package from database.
del_maintainer($maintainer)
Delete given maintainer from database.
browse_packages($callback)
Browse all packages from bugzilla, and execute given callback with name and maintainer as argument for each of them.
COPYRIGHT AND LICENSE
Copyright (C) 2002-2006, YOURI project
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.