The Python library to interact with Atlassian Jira REST API
Project description
jira2py
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
JiraAPIentry point with access to all endpoints viajira.issues,jira.search,jira.comments,jira.projects, and more - Automatic rate limit handling — retries on HTTP 429 with exponential backoff, jitter, and
Retry-Afterheader 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.typedmarker for downstream static analysis (PEP 561) - Lightweight — two runtime dependencies:
httpxandtenacity
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jira2py-0.4.0.tar.gz.
File metadata
- Download URL: jira2py-0.4.0.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6a8d2d2c1e1993d3bfdcfcae113316d7879a22d7ea7032635bfa843396a6ce3
|
|
| MD5 |
27af8df5296c06f8e5d13bf9cbe66c47
|
|
| BLAKE2b-256 |
02d470f67d2243f1cb2d7b2a873f6bc9e33dcead3279699a6a4c75e86cbeb6b9
|
Provenance
The following attestation bundles were made for jira2py-0.4.0.tar.gz:
Publisher:
publish.yml on en-ver/jira2py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jira2py-0.4.0.tar.gz -
Subject digest:
c6a8d2d2c1e1993d3bfdcfcae113316d7879a22d7ea7032635bfa843396a6ce3 - Sigstore transparency entry: 1057014203
- Sigstore integration time:
-
Permalink:
en-ver/jira2py@f31a4200aa28e529e2c5489521fad0d940773483 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/en-ver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f31a4200aa28e529e2c5489521fad0d940773483 -
Trigger Event:
push
-
Statement type:
File details
Details for the file jira2py-0.4.0-py3-none-any.whl.
File metadata
- Download URL: jira2py-0.4.0-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8013f130d18c26bbeebeef366ae20bd176fa711e5db5cf1b993827f0b66f6829
|
|
| MD5 |
40e45759929049179ad967a45e6924bf
|
|
| BLAKE2b-256 |
0e043122abf301819d14593aac9e83ad857e33d64c5942cfd68ed7a5f40cc18a
|
Provenance
The following attestation bundles were made for jira2py-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on en-ver/jira2py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jira2py-0.4.0-py3-none-any.whl -
Subject digest:
8013f130d18c26bbeebeef366ae20bd176fa711e5db5cf1b993827f0b66f6829 - Sigstore transparency entry: 1057014204
- Sigstore integration time:
-
Permalink:
en-ver/jira2py@f31a4200aa28e529e2c5489521fad0d940773483 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/en-ver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f31a4200aa28e529e2c5489521fad0d940773483 -
Trigger Event:
push
-
Statement type: