I am now maintaining a python library (originally written by Jeff Balogh) for interacting with Bugzilla via the the REST API. You can get it from:
https://github.com/LegNeato/bztools
Check out the README for a simple example of how to use the library. You can also take a look at the scripts at http://hg.mozilla.org/users/clegnitto_mozilla.com/release_tools for some more advanced uses.
Some features:
- Supports authentication (with credentials stored in the system keychain with a config file fallback)
- Supports querying the API via agents with optional query options, so you can include/exclude what you need
- Support for Bugs, Users, Attachments, Comments, Changes, Changesets, Flags, Keyword. Dependency support will be working shortly as well
- Supports common set and equality operations for objects. For example, looping through a list of Bug objects:
for bug in buglist: print bug
Checking if a Bug object is in a list of Bugs:
if bug in buglist: print "Found!"
Adding sets of bugs together into one large set:
all_bugs = buglist1 + buglist2 + buglist3
Checking if two User objects are the same:
if bug.assigned_to == bug.reporter: print "Assigned to the reporter!"
The library has really cleaned up my scripts and has been insanely useful. Thanks to Jeff for creating such a nice library and letting me take it over and improve it.
This sounds awesome! Could you link it from http://wiki.mozilla.org/Bugzilla:Addons ? I think there’s probably an appropriate section for it.
-Max
Added!