GNOME Bugzilla – Bug 127558
Bugzilla tasks backend
Last modified: 2021-05-19 11:45:12 UTC
Evolution and the GNOME project as a whole both use Bugzilla to track bugs. Since Evolution is used by many GNOME developers, it would be useful to have some degree of integration with Bugzilla. This bug is part of the Integrated Collaborative Desktop Bounty Hunt. For more information on prizes, contest rules, and other bounty tasks, visit: http://www.gnome.org/bounties/ If you would like to start working on this bounty, please create a bugzilla account and append your intention to work on this bounty to this bug. If multiple people declare their intentions to work on a task, we encourage you to join forces and work together. Please do not close this bug. The contest organizers will mark this bug as FIXED when the prize is claimed.
Please see http://www.gnome.org/bounties/Tasks.php3#127558 for more information.
If anyone would like advice about the Bugzilla integration end, there are the GNOME Bugzilla admins, of course, but you could also ask me (gerv@mozilla.org) or the news://news.mozilla.org/netscape.public.mozilla.webtools newsgroup. Useful information: - The latest versions of Bugzilla do query output as RDF. - You can specify exactly which data you want on the URL as well, using the "columns" mechanism - Again, in recent versions, it should be possible to always specify login details on the URL, so you don't need to mess with cookies Gerv
We and a few people are working on this, and we are almost done. We expect to send a patch in a few days.
Remember to attach the patch to this bug report AND to send it to the evolution-patches list.
I would like to try this one
I am working on it. I will submit the first part of my work here for the record. The tarball contains a glib based C library written for the bounty to access bugzilla. This lib was unit-tested against bugzilla.gnome.org, ximian.org, 2.14.2 upstream, 2.17 and bugzilla-test.gnome.org. An evo backend impl is also included in the tarball, but this is completely untested. I only know that it compiles. So of course this is not my final submission.
Created attachment 24290 [details] My bugzilla lib and a prototype evo backend
Ideally, this should now use bugzilla's XML-RPC interface, rather than parsing text output. I suppose not all bugzillas support XML-RPC, though...
Amen. But I assume that the first use-cases for this thing would be : - using gnome bugzilla from evolution - using ximian bugzilla from evolution If I remember correctly, they don't both support XML-RPC. At least at the time of my submission this assertion was true. And the more bugzilla version I tested, the harder this task was getting. Most bugzilla have heavely hacked output, and every version out there has slight differences with others.
Neither support xml-rpc at this time. Bugzilla 2.18 supports RSS output, though. That's probably the best target, unfortunately.
freedesktop.org and gentoo.org bugzillas already support iCal links their tasks show up perfectly in evolution-2 and the gnome 2.8 clock applet so, is that really necessary ? why not waiting for gnome.org/ximian.com/kernel.org bugzillas to update their bugzilla version ?
Just wanted to let people know . . I spoke with Thomas and he gave me the ok to continue where he left off. I've got the backend back to a "working" status. So it will query bugzilla (at least the gnome one) and populate the bugs across, it just not very smart of friendly at the moment so that will need a bit of working on. I'll hopefully have something to post up maybe in 2 weeks time. Right now I want to split out the bugzilla library and have to rework it so it doesn't use blocking i/o and the like.
Michael, any progress on this?
Yes actually. I had been mulling over the design for a while, but sat down this weekend and reorganized the code and it is working. There still definitely some rough edges: 1) I'm sure there are memory leaks 2) I need to use a less strict xml parser 3) There is no ui, just a working backend -- but basically the backend works. Right now only html page parsing is supported, though the way it is set up it would be easy to add support for rdf or ical parsing. Authentication is not linked up right now either, but once again since you can just modify the uri to include it where necessary it's pretty easy to implement. Right now you should be able to just give the backend a uri that has links to show_bug.cgi pages from one or more bugzilla installations and it will go and fetch the full bug reports and fill in the information. Currently I am filling in the following: title, description, priority (currently based on the priority levels from the gnome bugzilla, but I will add support for the stock levels), url, and status (also based on gnome). I'll work on cleaning it up in the next few days and post the tarballs.
Created attachment 37140 [details] Bugzilla Library
Created attachment 37141 [details] EDS Backend and Evo UI Plugin
I've uploaded my initial attempt at this. I've reimplemented the previous bugzilla library, re-wrote the backend, and created a plugin for the ui. The only caveat ui-wise is that you have to add the bugzilla:// source group manually right now. I was unsure of the best way to do this automatically. The implementation supports the following: * retrieval of stored queries * usage of any arbitrary url for retrieving bugs * ability to aggregate bugs from multiple sources at once * http and https support Right now the following ical fields are populated: summary, description, classification, categories, status, priority, web page, and the assignment list (as an amalgamation of the assignee and the cc list) Some parts of the ui are still a little bit fragile. Most notably the retrieval of stored queries is not cancellable, so changing your auth information and choosing fetch while a query is in progress will not do what you expect just yet. Also, since I have no way of determining if a given login was successful the plugin gives explicit support for storing the username and password. The system also doesn't populate any errors up right now, but that should only require a little bit more work on the bugzilla library. I can only really proxy http errors anyways.
Michael, this looks cool! Have you submitted it to any mailing lists or just on this bug?
I submitted it to evolution-hackers for comment back in Feb. It still needs a little bit more work before it's totally ready -- I'll see if I can scrounge up some time and take a look at it again.
What's the status by now ?
I was thinking about working on this. Is anyone still working on it?
any news :) ?
I'm wondering what one expects to see in Evolution, and actually what else than what provides bugzilla itself under iCalendar link in any bug-list which can be added to Evolution's Tasks under "On The Web", the only thing is to change https:// to webcal:// and check "Secure connection". With that set you can see the list as (read only) tasks.
*** Bug 562103 has been marked as a duplicate of this bug. ***
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines and create a new enhancement request ticket at https://gitlab.gnome.org/GNOME/evolution/-/issues/ Thank you for your understanding and your help.