story #9770 cross references between Tuleap and Bugzilla
cross references between Tuleap and Bugzilla

when I reference a bug in bugzilla from Tuleap, bugzilla is updated with Tuleap reference (for instance in a git commit)

This targets Bugzilla 5.0

Functional overview

The main idea is to create a reference as site level (for instance bz) and to associate a Bugzilla server to it.

  • There can be serveral bugzilla server configured
  • Each server is associated to one keyword
  • Whether the follow-up comment should be flagged as public or private

When the reference is used somewhere in Tuleap (git commit, tracker comment, wiki page, etc) the corresponding bugzilla bug is updated (new follow-up comment) with a reference to the Tuleap element:

  • New git commit: sha1 / <link to gitphp>
  • New Tuleap request: <link to artifact>
  • ...

The cross-reference (message in bugzilla comment) will be able to refer to:

  • trackers
  • phpwiki
  • git
  • svn
  • documents
  • releases
  • pullrequests
  • forums

As of today mediawiki is not supported as there is no "mw" (or equivalent) keyword.

Only reference creation is taken into account. Nothing is done in case of removal.

If bugzilla is not reachable when the reference is added, the target bug is not updated and there is no re-attempt later on (however the issue is logged for site admin inspection)

Implementation details

  • New plugin
  • Declare as site admin a bugzilla server with
    • a keyword eg 'bz_stuff'
    • a server (URL)
    • a username eg Tuleap Bot
    • a password
    • public/private comments
  • With this configuration, there might be several bugzilla servers, it's only a matter of declaring several different keywords
  • The plugin will be able to hook the reference extraction process to detect new links
  • The plugin will send REST call to bugzilla to create new messages (follow-up comments)
  • There will be logs of what is done by the plugin (esp. REST Calls) to ease debug


  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?


  • https://www.bugzilla.org/docs/5.0/en/html/integrating/api/Bugzilla/WebService/Bug.html#add_comment
  • curl -XPOST -H 'Content-type: application/json' http://localhost/bugzilla/rest/bug/2/comment -d '{"id": 2, "comment": "Git commit: ", "Bugzilla_login": "admin", "Bugzilla_password": "password"}'

Docker dev image of bugzilla

  • https://github.com/bugzilla/docker-bugzilla-dev
    • image needs to be re-built with "sleep 15" in scripts/bugzilla_config.sh
    • once installed, need to update  /var/www/html/bugzilla/data/params.json and set "mail_delivery_method" : ""

Gerrit / Bugzilla integration @ Eclipse:

  • https://bugs.eclipse.org/bugs/show_bug.cgi?id=434811
    • esp. https://bugs.eclipse.org/bugs/show_bug.cgi?id=434811#c27 for the workflow.
  • Example of gerrit/bz integration: https://bugs.eclipse.org/bugs/show_bug.cgi?id=498116
  • Tool used by Eclipse: https://github.com/eclipsewebmaster/admintools/blob/master/gerrit_to_bugzilla.pl

Discussion about See Also in bugzilla:

  • https://bugzilla.mozilla.org/show_bug.cgi?id=577847
  • https://bugzilla.mozilla.org/attachment.cgi?id=499228&action=diff
Manuel Vacelet (vaceletm)
2017-04-25 18:03
2016-12-23 11:24

Referencing story #9770