[python-bugzilla] Known API usage of python-bugzilla

Toshio Kuratomi a.badger at gmail.com
Thu Jun 7 20:15:34 UTC 2012


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <https://fedorahosted.org/pipermail/python-bugzilla/attachments/20120607/5ab3a636/attachment.sig>


More information about the python-bugzilla mailing list