Skip to main content

PyPI version Python Development Status Maintenance PyPI License


Python JIRA Plus

An enhanced Python client for JIRA that extends the functionality of the official jira package, providing better error handling, pagination, metadata validation, and more.


Features

  • ✅ Simplified connection to JIRA Cloud and On-Premise instances
  • ✅ Robust error handling with automatic retries
  • ✅ Built-in pagination for large result sets
  • ✅ Field validation against JIRA metadata
  • ✅ Enhanced issue creation, retrieval, and updating
  • ✅ Support for allowed values validation

Installation

pip install python-jira-plus

Requirements

  • Python 3.12+
  • jira package
  • retrying package
  • custom-python-logger package

Configuration

The package uses environment variables for authentication and configuration:

# Required environment variables
JIRA_USER_NAME=your_jira_username
JIRA_TOKEN=your_jira_api_token
JIRA_BASE_URL=your-instance.atlassian.net  # Only used if base_url is not provided to constructor

Examples

Creating an Issue with Custom Fields

from python_jira_plus.jira_plus import JiraPlus

jira_client = JiraPlus()
issue = jira_client.create_issue(
    project_key="PROJ",
    summary="Implement new feature",
    description="This feature will improve performance",
    issue_type="Task",
    custom_fields={
        "priority": "Critical",  # Priority
        "customfield_10003": {"name": "Sprint 1"}  # Sprint
    }
)

Searching for Issues

from python_jira_plus.jira_plus import JiraPlus

jira_client = JiraPlus()
issues = jira_client.get_objects_by_query(
    query="project = PROJ AND status = 'In Progress' ORDER BY created DESC",
    max_results=50,
    specific_fields=["summary", "status", "assignee"],
    json_result=False
)

for issue in issues:
    print(f"{issue.key}: {issue.fields.summary} - {issue.fields.status.name}")

Updating an Issue

from python_jira_plus.jira_plus import JiraPlus

jira_client = JiraPlus()
issue = jira_client.get_issue_by_key(key="PROJ-123", json_result=False)

fields_to_update = {
    "summary": "Updated summary",
    "description": "Updated description",
    "customfield_10003": {"name": "Sprint 2"},  # Update Sprint
}
_ = jira_client.update_issue(
    issue_key=issue.key,
    fields_to_update=fields_to_update
)

🤝 Contributing

If you have a helpful tool, pattern, or improvement to suggest: Fork the repo
Create a new branch
Submit a pull request
I welcome additions that promote clean, productive, and maintainable development.


🙏 Thanks

Thanks for exploring this repository!
Happy coding!

Release files for python-jira-plus 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-jira-plus 3.2.0
File Size Uploaded
python_jira_plus-3.2.0.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-jira-plus 3.2.0
File Interpreter ABI Platform
python_jira_plus-3.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.5 kB

Release files / python_jira_plus-3.2.0.tar.gz

Download URL python_jira_plus-3.2.0.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ed9c9770cc834abc273ad15ed2e4cfdf53c79614786c3254846b6d85498a98b9
BLAKE2b-256 checksum
How to use checksums
c635a1b912124e0645c3d7f6fdd6683533cb7e3592b4e3e8739c0e6ef258e1f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / python_jira_plus-3.2.0-py3-none-any.whl

Download URL python_jira_plus-3.2.0-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c6be70fb143b5cae45e817078c2b67422ce1b22361fbaf02b0d7d654da28e1f
BLAKE2b-256 checksum
How to use checksums
27d833655579624a1807e87e5a0efb774cc70a4c0b612333cd0abbc07753e713
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

3.2.0 This release

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page