JIRA ships with an RPC plugin which enables limited remote access to JIRA. It is available through SOAP and XML-RPC interfaces. We recommend using the SOAP interface when possible as it is more complete and will be our primary focus in the future. This page provides a starting point for all your remote procedure call needs
You can find the latest news on the RPC plugin on the Studio Plugins Instance. The full source of the plugin is available and you are free to modify and extend the source. We'd also be happy to accept code contributions to the project, as Simon Mittag has done in the past. Check out the RPC Endpoint Plugin Module for more information.
SOAP is the preferred method for remote method calls in JIRA and is the most frequently updated. The JIRA SOAP service is backed by Apache Axis, an open-sourced Java web services framework. If you're familiar with SOAP, ensure that RPC is enabled and point your stub generator to the
/rpc/soap/jirasoapservice-v2?wsdl path of your JIRA install (e.g. http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl) and you're away. For those less familiar with SOAP, you should first check out the SOAP tutorial.
For the latest information on what remote methods are available, you should check out the latest javadoc for JiraSoapService.
XML RPC Service
XML-RPC can also be used as an alternative where SOAP is unavailable. You can find some background information on XML-RPC by reading the overview. Start building your own client by following the instructions in the tutorial. The XML-RPC interface is backed by the SOAP interface, and will usually have a subset of methods from the SOAP interface.
For the latest information on what remote methods are available, you should check out the latest javadoc for XmlRpcService . Method calls should be prefixed with
jira1. and be made to the URL
/rpc/xmlrpc of your install. The javadoc will often refer to "hashtables with fields from RemoteObject". To the hashtable will contain keys that map to the fields available through reflection of the particular RemoteObject. For example, the object
RemoteVersion, has the methods getReleaseDate(), getSequence(), isArchived() and isReleased(). This will be converted into a Hashtable with keys releaseDate, sequence, archived and released.