summaryrefslogtreecommitdiffstats
path: root/docs/en/rst/integrating/apis.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/rst/integrating/apis.rst')
-rw-r--r--docs/en/rst/integrating/apis.rst72
1 files changed, 72 insertions, 0 deletions
diff --git a/docs/en/rst/integrating/apis.rst b/docs/en/rst/integrating/apis.rst
new file mode 100644
index 000000000..6067c12df
--- /dev/null
+++ b/docs/en/rst/integrating/apis.rst
@@ -0,0 +1,72 @@
+.. _api-list:
+
+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
+:ref:`REST WebService API v1 <apis>`
+should be used for all new integrations, but keep an eye out for version 2,
+coming soon.
+
+The APIs currently available are as follows:
+
+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.
+
+XML-RPC
+=======
+
+Bugzilla has an `XML-RPC API
+<http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Server/XMLRPC.html>`_.
+This will receive no further updates and will be removed in a future version
+of Bugzilla.
+
+Endpoint: :file:`/xmlrpc.cgi`
+
+JSON-RPC
+========
+
+Bugzilla has a `JSON-RPC API
+<http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Server/JSONRPC.html>`_.
+This will receive no further updates and will be removed in a future version
+of Bugzilla.
+
+Endpoint: :file:`/jsonrpc.cgi`
+
+REST
+====
+
+Bugzilla has a :ref:`REST API <apis>` 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: :file:`/rest`
+
+BzAPI/BzAPI-Compatible REST
+===========================
+
+The first ever REST API for Bugzilla was implemented using an external proxy
+called `BzAPI <https://wiki.mozilla.org/Bugzilla: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.
+
+REST v2
+=======
+
+The future of Bugzilla's APIs is version 2 of the REST API, which will take
+the best of the current REST API and the BzAPI API. It is still under
+development.