jira2py
A type-safe Python client for the Jira Cloud REST API v3. Use it to read and search issues, create and edit issues, transition workflows, and work with comments, attachments, links, worklogs, projects, metadata, users, and saved filters.
Scope
jira2py supports Jira Cloud and Python 3.11+. It does not support Jira Server or Data Center, board/sprint/epic workflows, issue deletion or archiving, or a dedicated issue-assignment API.
Install
pip install jira2py
Authenticate safely
Create an Atlassian API token, then provide your Cloud URL, Atlassian account email, and token. Without credentials_file, each credential uses a non-empty explicit url, username, or api_token argument, then its JIRA_URL, JIRA_USER, or JIRA_API_TOKEN environment variable.
When you supply credentials_file, jira2py first loads and validates it as a complete set: the JSON must contain non-empty url, username, and api_token values. A partial file cannot be completed from explicit arguments or environment variables; after validation, non-empty explicit arguments override their matching file values.
There is no default credentials-file path. Keep tokens out of source control, logs, and error reports; use environment variables or a protected local JSON file instead.
export JIRA_URL="https://your-domain.atlassian.net"
export JIRA_USER="your-email@example.com"
export JIRA_API_TOKEN="your-api-token"
{
"url": "https://your-domain.atlassian.net",
"username": "your-email@example.com",
"api_token": "your-api-token"
}
Pass the JSON file only when needed:
from jira2py import JiraAPI
jira = JiraAPI(credentials_file="./jira-credentials.json")
Choose an API layer
JiraAPIis the low-level, endpoint-oriented interface. Operations return parsed Jira JSON-like data when available; downloads return bytes and operations without a response body returnNone.JiraHelpersprovides grouped workflows and readableHelperResultvalues, with optional structured data, for common tasks.
Use JiraAPI when you want direct REST payloads and endpoint control:
from jira2py import JiraAPI
jira = JiraAPI()
issue = jira.issues.get_issue("PROJECT-123")
results = jira.search.enhanced_search("project = PROJECT AND status = 'In Progress'")
Use JiraHelpers when grouped, human-readable results better fit your application or automation:
from jira2py import JiraAPI
from jira2py.helpers import JiraHelpers
helpers = JiraHelpers(JiraAPI())
print(helpers.issues.read("PROJECT-123").text)
print(helpers.metadata.transitions("PROJECT-123").text)
print(helpers.attachments.list("PROJECT-123").text)
Documentation
- Installation
- Configuration and credential details
- High-level helpers
- API reference
- Full documentation
- Machine-readable documentation and complete reference
License
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.8.1.tar.gz.
File metadata
- Download URL: jira2py-0.8.1.tar.gz
- Upload date:
- Size: 66.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0fba6bf7cc4163d3d197cfa2924edb064d8c1d5249b0017f1bfc517ee7dec1d
|
|
| MD5 |
020161f2616e348c97ef620648489f64
|
|
| BLAKE2b-256 |
53bf020906da4fb1a3df74b51c2231358c6f439dc55ef9107c7eff5a6b3193e6
|
Provenance
The following attestation bundles were made for jira2py-0.8.1.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.8.1.tar.gz -
Subject digest:
f0fba6bf7cc4163d3d197cfa2924edb064d8c1d5249b0017f1bfc517ee7dec1d - Sigstore transparency entry: 2565037982
- Sigstore integration time:
-
Permalink:
en-ver/jira2py@fef8f65e448fe7996c5be1ab44c380ee63a1052b -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/en-ver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fef8f65e448fe7996c5be1ab44c380ee63a1052b -
Trigger Event:
push
-
Statement type:
File details
Details for the file jira2py-0.8.1-py3-none-any.whl.
File metadata
- Download URL: jira2py-0.8.1-py3-none-any.whl
- Upload date:
- Size: 56.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4c139e17115047c17bf462845574f97d6a163ad6e05c73a235c2893f9b91ef8
|
|
| MD5 |
112e045b70f79b7a97bbd5f5a7d6dc4e
|
|
| BLAKE2b-256 |
41fd8fa629f2509a368b0b093fd7330e1275bcc324565ea319af6d752d301a4a
|
Provenance
The following attestation bundles were made for jira2py-0.8.1-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.8.1-py3-none-any.whl -
Subject digest:
d4c139e17115047c17bf462845574f97d6a163ad6e05c73a235c2893f9b91ef8 - Sigstore transparency entry: 2565038657
- Sigstore integration time:
-
Permalink:
en-ver/jira2py@fef8f65e448fe7996c5be1ab44c380ee63a1052b -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/en-ver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fef8f65e448fe7996c5be1ab44c380ee63a1052b -
Trigger Event:
push
-
Statement type: