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 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.5.0.tar.gz (24.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.5.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jira2py-0.5.0.tar.gz
  • Upload date:
  • Size: 24.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.5.0.tar.gz
Algorithm Hash digest
SHA256 139dfd8cd3661c9df9670e33ae49590eee1d4537cb0a77706d39fc7954a8cce5
MD5 644619c065dcc2e4f59a09b04bd6bcda
BLAKE2b-256 0ce1dbc55bd7d389333acbbe9e9bf85ae3eba49176b4daa543966450719d92ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for jira2py-0.5.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.5.0-py3-none-any.whl.

File metadata

  • Download URL: jira2py-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91b509a6d3879d670eeca42b39938b0e7dcc3985714210f410cb5b1188a93a7f
MD5 a2613f24f748bc943ba6dabf1fa2415a
BLAKE2b-256 f736ef70015be3f0efcb045fffa77a430bedcdf48ce24eb11d5a7b38b1207f11

See more details on using hashes here.

Provenance

The following attestation bundles were made for jira2py-0.5.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