Skip to main content

The Python library to interact with Atlassian Jira REST API

Project description

jira2py

PyPI version Python versions License: MIT

A lightweight, type-safe Python client for the Jira Cloud REST API v3.

Built for developers who want to interact with Jira programmatically without pulling in heavyweight dependencies — just two runtime dependencies (httpx, tenacity).

Installation

pip install jira2py

Quick Start

from jira2py import JiraAPI

jira = JiraAPI(
    url="https://your-domain.atlassian.net",
    username="your-email@example.com",
    api_token="your-api-token",
)

# Get an issue
issue = jira.issues.get_issue("PROJECT-123")

# Search with JQL
results = jira.search.enhanced_search("project = PROJECT AND status = 'In Progress'")

# Create an issue
new_issue = jira.issues.create_issue(fields={
    "project": {"key": "PROJECT"},
    "issuetype": {"name": "Task"},
    "summary": "New task from jira2py",
})

Credentials can also be loaded automatically from environment variables (JIRA_URL, JIRA_USER, JIRA_API_TOKEN):

jira = JiraAPI()  # no arguments needed

Key Features

  • Unified API — single JiraAPI entry point with access to all endpoints via jira.issues, jira.search, jira.comments, jira.projects, and more
  • Automatic rate limit handling — retries on HTTP 429 with exponential backoff, jitter, and Retry-After header support
  • Performant — persistent connections with HTTP/2, configurable timeouts
  • Structured error handling — typed exception hierarchy (JiraNotFoundError, JiraValidationError, JiraRateLimitError, etc.) instead of generic errors
  • Type-safe — full type annotations and a py.typed marker for downstream static analysis (PEP 561)
  • Lightweight — two runtime dependencies: httpx and tenacity

API Coverage

Module Operations
Issues Get, create, edit issues; changelogs; edit metadata; create metadata
Issue Search JQL search with pagination
Issue Comments List and add comments
Issue Worklogs Retrieve issue worklogs as raw Jira pages
Issue Fields List system and custom fields
Issue Links List link types, create and delete links
Projects Search and list projects
Attachments Get attachment metadata
Users Search users by name or email

Documentation

Full documentation is available at jira2py.org — including installation, configuration, error handling, rate limiting, and a complete API reference.

Machine-readable documentation for AI agents and LLMs:

  • llms.txt — documentation index with links to Markdown versions of each page
  • llms-full.txt — all documentation pages in a single file
  • api-reference.json — full API schema with signatures, types, and docstrings

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jira2py-0.6.0.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jira2py-0.6.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file jira2py-0.6.0.tar.gz.

File metadata

  • Download URL: jira2py-0.6.0.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jira2py-0.6.0.tar.gz
Algorithm Hash digest
SHA256 fb4c0750de194a12d274a9a8cd5a677d68933b1de41970fb3ca884ce92a0d299
MD5 e6d06958b6b64a127844245554f98ca5
BLAKE2b-256 6a0ff64bad85361a45a3482f5b655c425cbddb7a05b8aef438ddcbef6b6d3d1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for jira2py-0.6.0.tar.gz:

Publisher: publish.yml on en-ver/jira2py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jira2py-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: jira2py-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jira2py-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce83a11b9a92d80e671d352d75637a8a4235138891d00b469b1671cf7d54acc9
MD5 6b799cfcefea44d0fbe145c655a159ab
BLAKE2b-256 dc66e667f407cb0fdfbfd499bbc4e76e4faaf5d979dc0b0619edcb78b76ce351

See more details on using hashes here.

Provenance

The following attestation bundles were made for jira2py-0.6.0-py3-none-any.whl:

Publisher: publish.yml on en-ver/jira2py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page