(Initial version) |
(formatting fixes) |
||
Line 3: | Line 3: | ||
Fedora Infrastructure has a number of scripts or apps that interact with bugzilla.redhat.com. We try and list them all out here and what methods they use so we can test new bugzilla versions as they come up or revisit things and make them faster/better. | Fedora Infrastructure has a number of scripts or apps that interact with bugzilla.redhat.com. We try and list them all out here and what methods they use so we can test new bugzilla versions as they come up or revisit things and make them faster/better. | ||
FAS bugzilla sync | == FAS bugzilla sync == | ||
bugzilla.Bugzilla.updateperms() | bugzilla.Bugzilla.updateperms() | ||
# Remove user from fedorabugs group | # Remove user from fedorabugs group | ||
Line 10: | Line 10: | ||
# Test that a user has a bugzilla account | # Test that a user has a bugzilla account | ||
PKGDB bugzilla sync | == PKGDB bugzilla sync == | ||
bugzilla.Bugzilla.getcomponentsdetails() | bugzilla.Bugzilla.getcomponentsdetails() | ||
# Retrieve information about all the packages in a collection (Fedora, Fedora EPEL, Fedora Docker) | # Retrieve information about all the packages in a collection (Fedora, Fedora EPEL, Fedora Docker) | ||
Line 22: | Line 22: | ||
# Add new packages that didn't exist previously | # Add new packages that didn't exist previously | ||
bz-make-components (Ownership for docs, translations) | == bz-make-components (Ownership for docs, translations) == | ||
# **IMPORTANT** Everything else goes through python-bugzilla. This script | # **IMPORTANT** Everything else goes through python-bugzilla. This script | ||
# makes xmlrpc calls on its own | # makes xmlrpc calls on its own | ||
Line 31: | Line 31: | ||
# To save the updated data for components that have had changes made | # To save the updated data for components that have had changes made | ||
PKGDB | == PKGDB == | ||
bugzilla.Bugzilla.query() | bugzilla.Bugzilla.query() | ||
# Retrieve all bugs about a certain package in Fedora or Fedora EPEL where the bug is not closed. | # Retrieve all bugs about a certain package in Fedora or Fedora EPEL where the bug is not closed. | ||
Line 37: | Line 37: | ||
# Retrieve information about the bugs -- we use product, version, bug_id, url, bug_status, short_desc | # Retrieve information about the bugs -- we use product, version, bug_id, url, bug_status, short_desc | ||
Bodhi | == Bodhi == | ||
bugzilla.Bugzilla.getbugid() | bugzilla.Bugzilla.getbugid() | ||
# Retrieve a bug to read its keywords, short_desc, product, parent, and title | # Retrieve a bug to read its keywords, short_desc, product, parent, and title | ||
Line 47: | Line 47: | ||
# Change the status of a bug when updates are submitted that address the bug | # Change the status of a bug when updates are submitted that address the bug | ||
packages.fedoraproject.org | == packages.fedoraproject.org == | ||
bugzilla.Bugzilla.query() | bugzilla.Bugzilla.query() | ||
bugzilla.Bugzilla.getbugs() | bugzilla.Bugzilla.getbugs() | ||
Line 53: | Line 53: | ||
# recently closed bugs. Otherwise, similar to the pkgdb use | # recently closed bugs. Otherwise, similar to the pkgdb use | ||
review-stats | == review-stats == | ||
# Caches review request bugs | # Caches review request bugs | ||
bugzilla.Bugzilla.query() | bugzilla.Bugzilla.query() | ||
bugzilla.Bugzilla.getbugsimple() | bugzilla.Bugzilla.getbugsimple() | ||
easyfix.fedoraproject.org | == easyfix.fedoraproject.org == | ||
# Finds tickets on selected projects that have been marked with an EasyFix | # Finds tickets on selected projects that have been marked with an EasyFix | ||
# style keyword for new contributors to work on | # style keyword for new contributors to work on | ||
bugzilla.Bugzilla.query() | bugzilla.Bugzilla.query() | ||
fedora-active-user | == fedora-active-user == | ||
# Gathers information to see if a contributor has gone AWOL | # Gathers information to see if a contributor has gone AWOL | ||
# Uses bugzilla to tell how active the user has been in answering bugzilla | # Uses bugzilla to tell how active the user has been in answering bugzilla | ||
Line 71: | Line 71: | ||
bugzilla.getbugs() | bugzilla.getbugs() | ||
fedora-create-review and fedora-review | == fedora-create-review and fedora-review == | ||
# Aids in reviewing new packages | # Aids in reviewing new packages | ||
bugzilla.query() | bugzilla.query() | ||
Line 78: | Line 78: | ||
bugzilla.login() | bugzilla.login() | ||
the-new-hotness | == the-new-hotness == | ||
# Files bugs about new versions of packages | # Files bugs about new versions of packages | ||
? | ? |
Revision as of 15:14, 10 November 2016
Fedora Infrastructure Bugzilla scripts
Fedora Infrastructure has a number of scripts or apps that interact with bugzilla.redhat.com. We try and list them all out here and what methods they use so we can test new bugzilla versions as they come up or revisit things and make them faster/better.
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, Fedora Docker)
- 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()
the-new-hotness
- Files bugs about new versions of packages
?