Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 2.26 KB

xmlrpc.rst

File metadata and controls

64 lines (44 loc) · 2.26 KB

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.

Important

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.

https://patchwork.ozlabs.org/about

Alternatively, simply attempt to make a request to the API.

2.0

The XML-RPC API is a legacy API and has been deprecated in favour of the REST API <rest/index>. It may be removed in a future release.

Getting Started

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 xmlrpc 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 - xmlrpc - 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 xmlrpc.client
>>> rpc = xmlrpc.client.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 the pw_rpc_version method, however, it should be possible to use all the methods listed in the server documentation.

Further Information

Patchwork provides automatically generated documentation for the XML-RPC API. You can find this at the following URL:

https://patchwork.example.com/xmlrpc/

where patchwork.example.com refers to the URL of your Patchwork instance.

1.1

Automatic documentation generation for the Patchwork API was introduced in Patchwork v1.1. Prior versions of Patchwork do not offer this functionality.