pytest-jira
py.test JIRA integration plugin, using markers
What it is and what it does
pytest-jira is a pytest plugin that integrates test execution with JIRA issue tracking. It allows you to mark tests with JIRA ticket IDs (either via decorator or docstring) and automatically adjusts test behavior based on ticket status: unresolved tickets can skip tests or mark them as expected failures (xfail), while resolved tickets run tests normally. The plugin queries JIRA to determine status and can filter by component, version, and resolution type.
The plugin does not create, close, or modify JIRA tickets—it only reads their status to inform test behavior. It supports flexible configuration via jira.cfg files (loaded hierarchically from system, home, and project directories) or environment variables, with command-line overrides. It also provides a fixture for mid-test status checks and strategies for handling missing or unreachable issues.
Use it for:
- Skip tests for known unresolved bugs to prevent false failures during CI/CD runs
- Mark tests as expected failures when a JIRA ticket is open, then automatically pass when the ticket is resolved
- Filter test behavior by component or version so tests adapt to different deployment targets
- Examine JIRA issue status mid-test using the jira_issue fixture to conditionally skip assertions
- Manage test expectations across teams by centralizing issue status in JIRA rather than hardcoding skip decorators
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A pytest plugin that links test cases to JIRA tickets, allowing tests to be skipped or marked as expected failures based on ticket status without creating or closing tickets.
Yes, with conditions. The plugin is actively maintained, has low install friction, and solves a real problem for teams using JIRA and pytest. However, the GPL-2.0-only copyleft license means proprietary projects must either dual-license or avoid it. Requires upfront configuration (jira.cfg + credentials) and JIRA API access. No known vulnerabilities.
Install
pytest-jira on PyPI
pip
pip install pytest-jirauv
uv add pytest-jirapoetry
poetry add pytest-jiraInstalling pytest-jira
Before you install
Low friction install with six runtime dependencies including pytest, requests, and marshmallow. Active maintenance with a release 32 days ago and last commit on 2026-07-13.
License in practice
Licensed under GPL-2.0-only (copyleft). Derivative works and distributions must also be open source under GPL-2.0-only; proprietary projects cannot use this plugin without dual licensing.
Quickstart
pip install pytest-jira
# In your test file:
import pytest
@pytest.mark.jira('ORG-1382')
def test_example():
assert True
# Create jira.cfg with:
# [DEFAULT]
# url = https://jira.example.com
# username = USERNAME
# password = PASSWORD
Requires a jira.cfg configuration file in /etc, home directory, test root, or test directory with at least a JIRA URL and credentials (username/password or token).
Verify before relying
- Whether the plugin supports JIRA Cloud vs Server/Data Center instances
- Performance impact when checking many tickets or running large test suites
- Exact retry behavior and timeout handling for JIRA API calls
Package facts
| License | GPL-2.0-only (copyleft) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — marshmallow, packaging, pytest, requests, retry2, six |
| Maintenance | actively maintained — 32 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 127,630/month — #11,736 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pytest_jira-0.4.0-py3-none-any.whl
Keywords: jira, plugin, pytest
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytest-jira-xrayA pytest plugin that marks individual tests…
permissive · top 15,000 on PyPI
pytest-runtime-xfailA pytest plugin that provides a `runtime_xfail`…
permissive · top 15,000 on PyPI
pytest-progressA pytest plugin that displays real-time test…
permissive · top 15,000 on PyPI
pytest-dependencyA pytest plugin that marks tests as dependent…
permissive · top 5,000 on PyPI
pytest-rerunfailuresA pytest plugin that automatically reruns…
copyleft · top 1,000 on PyPI
pytest-checkA pytest plugin that allows tests to continue…
unclear · top 5,000 on PyPI
pytest-fail-slowA pytest plugin that marks tests as failed if…
permissive · top 15,000 on PyPI
pytest-reportportalA pytest plugin that integrates test execution…
permissive · top 5,000 on PyPI
pytest-emojiAdds emoji indicators to pytest test result…
permissive · top 15,000 on PyPI
pytest-onlyA pytest plugin that runs only tests marked…
permissive · top 15,000 on PyPI