Apache Airflow Providers Jira
raw JSON → 3.1.0 verified Mon Apr 27 auth: no python
Provider package for Apache Airflow that integrates with Jira. It provides hooks, operators, and sensors to interact with Jira issues, projects, and workflows. Current version: 3.1.0. Release cadence: follows Airflow provider releases.
pip install apache-airflow-providers-jira Common errors
error ModuleNotFoundError: No module named 'airflow.contrib' ↓
cause Importing from deprecated contrib module after Airflow 2.0.
fix
Use
from airflow.providers.jira.hooks.jira import JiraHook instead. error airflow.exceptions.AirflowException: 'JiraOperator' object has no attribute 'execute' ↓
cause Misconfiguration or outdated version of provider not compatible with Airflow version.
fix
Ensure
apache-airflow-providers-jira version matches your Airflow version. Upgrade both to latest compatible versions. error jira.exceptions.JIRAError: JiraError HTTP 400 Bad Request ↓
cause Invalid project key or issue type in `JiraOperator` parameters.
fix
Verify that the project and issuetype exist in your Jira instance. For cloud, use project key (e.g., 'TEST') not name.
Warnings
breaking Starting with Airflow 2.0, all Jira hooks and operators must be imported from `airflow.providers.jira` instead of `airflow.contrib`. ↓
fix Update imports: `from airflow.providers.jira.hooks.jira import JiraHook` and `from airflow.providers.jira.operators.jira import JiraOperator`.
gotcha The `JiraOperator` uses the `operation` parameter to specify the Jira API method. Not all methods are available; check the operator source code for a list. ↓
fix Refer to the operator source or docs for valid operations like 'create_issue', 'search_issues', 'transition_issue'.
deprecated The `jira_conn_id` must point to a connection with host, login, password or token. The provider uses the JIRA Python library which expects a token or basic auth. ↓
fix Configure Airflow connection with 'jira' type, set host (e.g., https://your-domain.atlassian.net), login (email), and password (API token for cloud).
Imports
- JiraHook wrong
from airflow.contrib.hooks.jira_hook import JiraHookcorrectfrom airflow.providers.jira.hooks.jira import JiraHook - JiraOperator wrong
from airflow.operators.jira_operator import JiraOperatorcorrectfrom airflow.providers.jira.operators.jira import JiraOperator
Quickstart
from datetime import datetime
from airflow import DAG
from airflow.providers.jira.operators.jira import JiraOperator
from airflow.providers.jira.hooks.jira import JiraHook
default_args = {
'owner': 'airflow',
'start_date': datetime(2023, 1, 1),
}
with DAG(dag_id='jira_test', default_args=default_args, schedule_interval=None, catchup=False) as dag:
create_issue = JiraOperator(
task_id='create_issue',
jira_conn_id='jira_default',
operation='create_issue',
project='TEST',
summary='Test issue from Airflow',
issuetype='Task',
description='Created via Airflow JiraOperator',
)
create_issue