Patchwork provides an XML-RPC API. This API can be used to be used to retrieve and modify information about patches, projects and more.
NOTE: The XML-RPC API can be enabled/disabled by the administrator: it may not be available in every instance.
Patchwork provides automatically generated documentation for the XML-RPC API. You can find this at the following URL:
http://patchwork.example.com/xmlrpc/
Where patchwork.example.com refers to the URL of your patchwork instance.
NOTE: Automatic documentation generation for the patchwork API was introduced in Patchwork v1.1. Prior versions of Patchwork do not offer this functionality.
You need to connect to the server. Some methods require authentication (via
HTTP Basic Auth) while others do not. Authentication uses your patchwork
account and the on-server documention will indicate where it is necessary.
We will only cover the unauthenticated method here for brevity - please
consult the xmlrpclib documentation for more detailed examples:
from __future__ import print_function
import sys
import xmlrpclib
url = 'http://patchwork.example.org/xmlrpc/'
try:
rpc = xmlrpclib.ServerProxy(url)
except:
print('Unable to connect to %s\n' % url, file=sys.stderr)
sys.exit(1)
After connecting, the rpc object will be populated with a list of available
functions (or procedures, in RPC terminology). For example, if we continue
with the above example:
print(rpc.pw_rpc_version())
It should be possible to use all the methods listed in the server's documentation.