Greetings all, I had done some auditing to give to the RH bugzilla admins
and wwoods thoght it might be useful for creating tests that cover things
that are actively used. It's a list of what things we're running in Fedora
Infrastructure (and a few things we aren't but contributors use) and what
pieces of python-bugzilla API they use.
# Note that we'd like to use multicall for queries whenever possible but some
# uses of multicall via python-bugzilla appear to be broken
#
https://bugzilla.redhat.com/show_bug.cgi?id=824241
# Note that we use python-bugzilla to access bugzilla for all but one of these scripts
#
http://git.fedorahosted.org/git/?p=python-bugzilla.git;a=summary
FAS bugzilla sync
bugzilla.Bugzilla.updateperms()
# Remove user from fedorabugs group
# Add a user to the fedorabugs group
bugzilla.Bugzilla.getuser()
# Test that a user has a bugzilla account
PKGDB bugzilla sync
bugzilla.Bugzilla.getcomponentsdetails()
# Retrieve information about all the packages in a collection (Fedora, Fedora EPEL)
# Note: Non-bugzilla calls logic:
# Check for differences between what's i nthe pkgdb and what's in the
# components in bugzilla. [qacontact, initialowner, description,
# initialcclist]. Where a difference is found, set it on the package
bugzilla.Bugzilla.editcomponent()
# Save the data for packages we found above.
bugzilla.Bugzilla.addcomponent()
# Add new packages that didn't exist previously
bz-make-components (Ownership for docs, translations)
# **IMPORTANT** Everything else goes through python-bugzilla. This script
# makes xmlrpc calls on its own
# This could be ported to be more like the PKGDB bugzilla sync if needed
bugzilla.getProdCompDetails()
# To retrieve all components in the products [Fedora Documentation and Fedora
Localization]
bugzilla.editComponent()
# To save the updated data for components that have had changes made
PKGDB:
bugzilla.Bugzilla.query()
# Retrieve all bugs about a certain package in Fedora or Fedora EPEL where the bug is not
closed.
bugzilla.Bugzilla.getbugsimple()
# Retrieve information about the bugs -- we use product, version, bug_id, url, bug_status,
short_desc
Bodhi:
bugzilla.Bugzilla.getbugid()
# Retrieve a bug to read its keywords, short_desc, product, parent, and title
bugzilla.Bugzilla._Bug.add_comment()}
# Add a comment to an existing bug
bugzilla.Bugzilla._Bug.close()
# Close a bug when an update is pushed to stable
bugzilla.Bugzilla._Bug.setstatus()
# Change the status of a bug when updates are submitted that address the bug
packages.fedoraproject.org:
bugzilla.Bugzilla.query()
bugzilla.Bugzilla.getbugs()
# Retrieve information for bugs on a package including statistics of how many
# recently closed bugs. Otherwise, similar to the pkgdb use
review-stats
# Caches review request bugs
bugzilla.Bugzilla.query()
bugzilla.Bugzilla.getbugsimple()
easyfix.fedoraproject.org
# Finds tickets on selected projects that have been marked with an EasyFix
# style keyword for new contributors to work on
bugzilla.Bugzilla.query()
fedora-active-user
# Gathers information to see if a contributor has gone AWOL
# Uses bugzilla to tell how active the user has been in answering bugzilla
# bugs.
bugzilla.getuser()
bugzilla.query()
bugzilla.getbugs()
fedora-create-review and fedora-review
# Aids in reviewing new packages
bugzilla.query()
bugzilla.getbugs()
bugzilla.createbug()
bugzilla.login()
cnucnu
# Tracks upstream package versions and opens or modifies a bug when an
# upstream update is newer than what's in rawhide
bugzilla._update_bugs()
bugzilla.createbug()
bugzilla._proxy.bugzilla.changeStatus()
bugzilla._proxy.bugzilla.updateKeywords()
bugzilla.query()
bugzilla.login()
Hope this is helpful
-Toshio