Trac XML-RPC Plugin


This plugin allows Trac plugins to export select parts of their interface via XML-RPC.

It also includes some exported functions for manipulating tickets, with plans to include functions for other parts of Tracs API.


Unfortunately, due to some issues with mod_pythons FieldStorage emultation layer, this plugin requires the patch in [trac-ticket:2509 #T2509] to be applied to your Trac installation.

Once this patch has been applied, install in the same manner as any other Trac plugin:

# python bdist_egg
# cp dist/*.egg /srv/trac/env/plugins

Bugs/Feature? Requests

Existing bugs and feature requests for XmlRpcPlugin? are [report:9?COMPONENT=XmlRpcPlugin here].

If you have any issues, create a new ticket.


Download the zipped source from [download:xmlrpcplugin here].


You can check out the source for XmlRpcPlugin? from Subversion at


End-User Usage

Obtain a list of XML-RPC exported functions available to my user:

import xmlrpclib

server = xmlrpclib.ServerProxy("http://athomas:password@localhost/trac-dev/RPC2")

print server.tracrpc.api.list_xmlrpc_functions()

List all tickets that are owned by athomas:

import xmlrpclib

server = xmlrpclib.ServerProxy("http://athomas:password@localhost/trac-dev/RPC2")
print server.tracrpc.ticket.query_tickets("owner=athomas")

API Usage

Export a "hello world' function:

from tracrpc.api import IXMLRPCProvider
from trac.core import Component, implements

class HelloWorld(Component):

  def hello_world(self):
    return "Hello world"

  def get_xmlrpc_functions(self):
    yield ('WIKI_VIEW', self.hello_world)


Author: athomas?


Last modified 6 years ago Last modified on Jun 29, 2013 12:13:18 AM

Attachments (2)

Download all attachments as: .zip