The XML-RPC API¶
Patchwork provides an XML-RPC API. This API can be used to be used to retrieve and modify information about patches, projects and more.
The XML-RPC API can be enabled/disabled by the administrator: it may not be
available in every instance. Refer to
/about on your given instance for
the status of the API, e.g.
Alternatively, simply attempt to make a request to the API.
Deprecated since version 2.0: The XML-RPC API is a legacy API and has been deprecated in favour of the REST API. It will be removed in Patchwork 3.0.
The Patchwork XML-RPC API provides a number of “methods”. Some methods require authentication (via HTTP Basic Auth) while others do not. Authentication uses your Patchwork account and the on-server documentation will indicate where it is necessary. We will only cover the unauthenticated method here for brevity - consult the xmlrpclib documentation for more detailed examples:
To interact with the Patchwork XML-RPC API, a XML-RPC library should be used. Python provides such a library - xmlrpclib - in its standard library. For example, to get the version of the XML-RPC API for a Patchwork instance hosted at patchwork.example.com, run:
$ python >>> import xmlrpclib # or 'xmlrpc.client' for Python 3 >>> rpc = xmlrpclib.ServerProxy('http://patchwork.example.com/xmlrpc/') >>> rpc.pw_rpc_version() 1.1
Once connected, the
rpc object will be populated with a list of available
functions (or procedures, in RPC terminology). In the above example, we used
pw_rpc_version method, however, it should be possible to use all the
methods listed in the server documentation.
Patchwork provides automatically generated documentation for the XML-RPC API. You can find this at the following URL:
where patchwork.example.com refers to the URL of your Patchwork instance.
Changed in version 1.1: Automatic documentation generation for the Patchwork API was introduced in Patchwork v1.1. Prior versions of Patchwork do not offer this functionality.