SDKs overview

The Atlassian Jira API provides programmatic access to Jira Cloud data and functionalities, allowing developers to build integrations, automate workflows, and extend Jira's capabilities. While direct interaction with the Jira Cloud Platform REST API via HTTP requests is possible, SDKs (Software Development Kits) offer a more structured and efficient approach. These kits provide language-specific bindings, handle authentication, manage request/response serialization, and simplify error handling, reducing the boilerplate code required for common operations.

Atlassian, alongside its developer community, maintains and contributes to a range of SDKs across various programming languages. These libraries abstract the underlying REST API, allowing developers to interact with Jira resources using familiar object-oriented paradigms or idiomatic language constructs. This approach supports faster development cycles and improved code readability when building applications that interact with Jira.

Official SDKs by language

Atlassian provides and supports several official SDKs for interacting with the Jira Cloud Platform API. These SDKs are designed to align with the latest API versions and best practices, offering a reliable way to integrate with Jira. The following table outlines the key official SDKs, their package names, installation commands, and general maturity status.

Language Package Name Installation Command Maturity / Status Documentation Link
Java com.atlassian.jira.restclient Add to pom.xml (Maven) or build.gradle (Gradle) Stable, actively maintained Jira Cloud Platform development guide
Python jira pip install jira Stable, actively maintained Jira Cloud Platform development guide
JavaScript (Node.js) atlassian-jira-client npm install atlassian-jira-client Stable, actively maintained Jira Cloud Platform development guide
Ruby jira-ruby gem install jira-ruby Stable, community-driven with Atlassian support Jira Cloud Platform development guide
Go go-jira go get github.com/andygrunwald/go-jira Stable, community-driven with Atlassian support Jira Cloud Platform development guide
C# (.NET) Atlassian.Jira Install-Package Atlassian.Jira (NuGet) Stable, community-driven with Atlassian support Jira Cloud Platform development guide

Installation

Installation procedures for Atlassian Jira API SDKs typically follow the standard package management conventions of each programming language. Below are examples for the most commonly used languages:

Python

The official Python library for Jira is installed via pip:

pip install jira

After installation, you can import and use the Jira client in your Python projects. More detailed instructions are available in the Jira Cloud Platform getting started guide.

JavaScript (Node.js)

For Node.js environments, the atlassian-jira-client library can be installed using npm:

npm install atlassian-jira-client

This command adds the library to your project's dependencies, allowing you to require it in your JavaScript files.

Java (Maven/Gradle)

For Java projects, the Jira REST client library is typically managed using build tools like Maven or Gradle. You add the dependency to your project's configuration file:

Maven (pom.xml):

<dependency>
    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-rest-java-client-core</artifactId>
    <version>5.2.2</version> <!-- Use the latest version -->
</dependency>

Gradle (build.gradle):

dependencies {
    implementation 'com.atlassian.jira:jira-rest-java-client-core:5.2.2' // Use the latest version
}

Ensure you reference the latest version numbers from the official Atlassian documentation or Maven Central for stability and security updates.

Ruby

The jira-ruby gem is installed using the RubyGems package manager:

gem install jira-ruby

This makes the library available for use in Ruby applications.

Go

For Go projects, the go-jira library is obtained using the go get command:

go get github.com/andygrunwald/go-jira

This command fetches the package and its dependencies, making it available for import in your Go source files.

C# (.NET)

The Atlassian.Jira NuGet package is installed via the NuGet Package Manager Console in Visual Studio or the .NET CLI:

NuGet Package Manager Console:

Install-Package Atlassian.Jira

.NET CLI:

dotnet add package Atlassian.Jira

This integrates the library into your .NET project, allowing access to Jira functionalities.

Quickstart example

This quickstart example demonstrates how to use the Python SDK to connect to a Jira Cloud instance, retrieve an issue, and update its description. Before running this code, ensure you have installed the jira Python library and have your Jira Cloud URL, a valid email, and an API token ready.

To generate an API token, visit your Atlassian API tokens page.

from jira import Jira

# Configuration variables
JIRA_URL = "https://your-domain.atlassian.net"
YOUR_EMAIL = "[email protected]"
API_TOKEN = "YOUR_API_TOKEN"
ISSUE_KEY = "YOURPROJECT-123" # Example: 'PROJ-123'

try:
    # Initialize the Jira client
    jira = Jira(server=JIRA_URL, basic_auth=(YOUR_EMAIL, API_TOKEN))
    print(f"Successfully connected to Jira at {JIRA_URL}")

    # Retrieve an issue
    issue = jira.issue(ISSUE_KEY)
    print(f"Retrieved issue {issue.key}: {issue.fields.summary}")
    print(f"Current description: {issue.fields.description}")

    # Update the issue description
    new_description = f"Updated description via Python SDK on {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
    issue.update(description=new_description)
    print(f"Issue {issue.key} description updated to: {new_description}")

    # Verify the update (optional)
    updated_issue = jira.issue(ISSUE_KEY, fields='description')
    print(f"Verified updated description: {updated_issue.fields.description}")

except Exception as e:
    print(f"An error occurred: {e}")
    print("Please check your JIRA_URL, YOUR_EMAIL, API_TOKEN, and ISSUE_KEY.")

This script first establishes a connection using basic authentication with an API token. It then fetches a specified issue by its key, prints its summary and current description, updates the description field, and then optionally re-fetches the issue to confirm the change. Remember to replace placeholder values with your actual Jira instance details.

Community libraries

Beyond the officially supported SDKs, the Atlassian developer community has created and maintained a variety of libraries and tools that extend integration possibilities with Jira. These community-driven projects often cater to specific use cases, provide additional functionalities, or offer support for languages not covered by official SDKs.

  • PHP: While Atlassian does not provide an official PHP SDK, several community-maintained libraries exist, such as chadicus/jira-rest-api, which allow PHP applications to interact with the Jira REST API. These libraries typically wrap HTTP clients and provide methods for common Jira operations. Developers should consult the respective project repositories for installation and usage instructions.
  • Other Languages: For languages like Swift, Kotlin, or Rust, developers might find community contributions on platforms like GitHub or package managers specific to those ecosystems. These libraries vary in maturity and active maintenance, so it is advisable to check their documentation, issue trackers, and contribution history before integrating them into production systems.
  • Framework-Specific Integrations: Some community libraries offer integrations tailored for popular web frameworks, such as Django for Python or Laravel for PHP, simplifying the process of embedding Jira functionalities within applications built on these frameworks.

When considering a community library, it is important to evaluate factors such as:

  • Active Maintenance: Is the library regularly updated to support new Jira API versions and address bugs?
  • Documentation: Is there clear and comprehensive documentation for installation, usage, and examples?
  • Community Support: Is there an active community (e.g., GitHub issues, forums) that can provide assistance?
  • License: Is the library distributed under a permissive license compatible with your project?

Developers can explore resources like Atlassian Marketplace Connect apps and GitHub to discover community-developed tools and libraries that might suit their specific integration needs. The breadth of community contributions reflects the extensive ecosystem surrounding Atlassian Jira.