Documentation for JIRA 4.1. Documentation for other versions of JIRA is available too.

Skip to end of metadata
Go to start of metadata

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.

Icon

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.

(warning) 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:

(warning) 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 (smile)

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

  • No labels