Bugzilla:BzAPI:CompatLayer

From MozillaWiki
Jump to: navigation, search

Until mid-2013, Bugzilla natively supported only older Web technologies, namely XMLRPC and JSONRPC. The BMO team created a new REST API in the summer of 2013 to provide a modern Web interface to Bugzilla.

Prior to the native REST API, a separate proxy service called BzAPI was created that provided a REST API using data obtained through the older RPC interfaces as well as various other Bugzilla data sources, including CSV representations. This was a great interim solution, but now that we have a native API, and since the system hosting the proxy is not maintained by Mozilla IT, the BzAPI service will need to be decommissioned at some point. Check out the API comparison page for the differences between BzAPI and the native API.

To ease the transition, we have created a native BzAPI compatibility layer (bug 880669) that acts almost exactly the same as BzAPI but will translate the queries to the native API layer. Thus clients who currently use BzAPI will just need to change the REST URL to the built-in API (https://bugzilla.mozilla.org/bzapi/), which is somewhat different from the native one (https://bugzilla.mozilla.org/rest/).

If anything doesn't display properly, is missing, or generates an error of some kind, please file bugs under bugzilla.mozilla.org :: Extensions: BzAPI Compatibility.

The compatibility layer should be viewed as a temporary solution only. The BMO team recommends updating applications that currently use BzAPI to use the native REST API as soon as possible. Not only will this prepare you for the eventual decommissioning of the BzAPI compatibility layer, but the native REST API is generally faster, since the compatibility layer is a wrapper around native REST.

We will not make any major changes nor enhancements to the compatibility layer, and at some point it will be removed, likely when we rewrite the native REST API to enhance its capabilities and improve its interface. Thus any requests for improvements or new features will need to be directed the native API component under Bugzilla :: WebService.