Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 1.73 KB

File metadata and controls

51 lines (35 loc) · 1.73 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.

NOTE: The XML-RPC API can be enabled/disabled by the administrator: it may not be available in every instance.

Patchwork API Documentation

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.

Developing Your Own Client

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.