Last updated Jan 8, 2025

JIRA Developer Documentation : JIRA XML-RPC Overview

This page has been archived, as it does not apply to the latest version of JIRA (Server or Cloud). The functionality described on this page may be unsupported or may not be present in JIRA at all.

JIRA's SOAP and XML-RPC remote APIs were removed in JIRA 7.0 for Server ( see announcement). We encourage you to use JIRA's REST APIs to interact with JIRA remotely (see migration guide).

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.

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 an XML-RPC Client or Creating a JIRA 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) To get the source code of the RPC plugin, see https://bitbucket.org/atlassian_tutorial/jira-rpc-plugin

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". 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

Rate this page: