5.6. APIs¶
Bugzilla has a number of APIs that you can call in your code to extract information from and put information into Bugzilla. Some are deprecated and will soon be removed. Which one to use? Short answer: the REST WebService API v1 should be used for all new integrations, but keep an eye out for version 2, coming soon.
The APIs currently available are as follows:
5.6.1. Core Module API¶
Most of the core Bugzilla modules have extensive documentation inside the modules themselves. You can view the POD documentation to help with using the core modules in your extensions.
5.6.2. Ad-Hoc APIs¶
Various pages on Bugzilla are available in machine-parseable formats as well as HTML. For example, bugs can be downloaded as XML, and buglists as CSV. CSV is useful for spreadsheet import. There should be links on the HTML page to alternate data formats where they are available.
5.6.3. XML-RPC¶
Bugzilla has an XML-RPC API. This will receive no further updates and will be removed in a future version of Bugzilla.
Endpoint: /xmlrpc.cgi
5.6.4. JSON-RPC¶
Bugzilla has a JSON-RPC API. This will receive no further updates and will be removed in a future version of Bugzilla.
Endpoint: /jsonrpc.cgi
5.6.5. REST¶
Bugzilla has a REST API which is the currently-recommended API for integrating with Bugzilla. The current REST API is version 1. It is stable, and so will not be changed in a backwardly-incompatible way.
This is the currently-recommended API for new development.
Endpoint: /rest
5.6.6. BzAPI/BzAPI-Compatible REST¶
The first ever REST API for Bugzilla was implemented using an external proxy called BzAPI. This became popular enough that a BzAPI-compatible shim on top of the (native) REST API has been written, to allow code which used the BzAPI API to take advantage of the speed improvements of direct integration without needing to be rewritten. The shim is an extension which you would need to install in your Bugzilla.
Neither BzAPI nor this BzAPI-compatible API shim will receive any further updates, and they should not be used for new code.