This page last changed on May 14, 2008 by alui.
Introduction
This page provides basic documentation on JIRA's XML-RPC capabilities. For latest methods available through the XML-RPC please refer to the latest javadoc for XmlRpcService.
 | JIRA supports both SOAP and XML-RPC. We recommend the SOAP interface as it is more complete. |
Notes:
- The URL for XML-RPC requests is http://jira-install/rpc/xmlrpc.
- All methods must be prefixed by jira1 - to indicate this is version 1 of the API. We might introduce another version in the future.
- All keys in structs are case sensitive.
- All strings are passed as UTF-8, and not ASCII per the XML-RPC
- When reading the APInywhere you see the word Vector, you can interchange it with "Array" or "List" depending on what language you prefer. This is the array data type as defined in the XML-RPC spec.
- Anywhere you see the word Hashtable, you can interchange it with "Struct" or "Dictionary" or "Map" depending on what language you prefer. This is the struct data type as defined in the XML-RPC spec.
- The default XML-RPC session lifetime is 60 minutes, it will be editable in the future.
You may also wish to see the Creating a XML-RPC Client or Creating a SOAP Client if you're interested in creating a JIRA remote client.
Enable the RPC plugin
To invoke JIRA operations remotely, you should ensure that the RPC plugin is enabled on the JIRA installation you are targeting. If you simply want to create a client to http://jira.atlassian.com/ then you can skip this step. First you need to check if the Accept Remote API Calls has been enabled in 'General Configuration' under 'Global Settings' in the left-hand menu:

Then you need to enable the JIRA RPC Plugin in 'Plugins' under 'System' in the left-hand menu:
!
If the plugin does not appear as above then your RPC jar has not been properly installed. Download the jar from the repository and copy it to the atlassian-jira/WEB-INF/lib folder of your JIRA installation. Perform a restart and your plugin should appear.
Your server should now be ready to accept remote procedure calls.
Remote Methods
The most recent and up-to-date source of information of available exposed methods is the javadoc for the RPC plugin, specifically those on the XmlRpcService.
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.
Data Objects
Most returned structs have a summary and a detailed form:
- The summary form is a primary key (ie project key) and a representative form (ie name)
- The detailed form will have all of the entity details as might be needed for the client.
Unless otherwise specified, all returned structs are in detailed form.
Project
Key |
Type |
Value |
id |
String |
the id of the project |
key |
String |
the project key |
name |
String |
the name of the project |
url |
String |
the url to view this project online |
projectUrl |
String |
the url of this project in your organisation (ie not a JIRA URL) |
lead |
String |
the username of the project lead |
description |
String |
a description of this project |
Component
Key |
Type |
Value |
id |
String |
the id of the component |
name |
String |
the name of the component |
Version
Key |
Type |
Value |
id |
String |
the id of the version |
name |
String |
the name of the version |
released |
boolean |
whether or not this version is released |
archived |
boolean |
whether or not this version is archived |
IssueType / Status / Resolution
Key |
Type |
Value |
id |
String |
the id of this constant |
name |
String |
the name of the constant |
description |
String |
the description of this constant |
icon |
String |
the URL to retrieve the icon of this constant |
Priority
Key |
Type |
Value |
id |
String |
the id of this constant |
name |
String |
the name of the constant |
description |
String |
the description of this constant |
icon |
String |
the URL to retrieve the icon of this constant |
colour |
String |
the colour of this constant |
Filter
Key |
Type |
Value |
id |
String |
the id of this filter |
name |
String |
the name of the filter |
description |
String |
the description of this filter |
author |
String |
the username of this filter's owner |
project |
String |
the id of the project this search relates to (null if the search is across projects) |
xml |
String |
a complete XML representation of this search request - I don't recommend you use this for now, it's complex  |
User
Key |
Type |
Value |
name |
String |
the username of this user |
fullname |
String |
the full name of this user |
email |
String |
the email address of this user |
|