diff --git a/providers/jenkins/src/airflow/providers/jenkins/operators/jenkins_job_trigger.py b/providers/jenkins/src/airflow/providers/jenkins/operators/jenkins_job_trigger.py index 0b7d83372d433..3f9ccddc0ab40 100644 --- a/providers/jenkins/src/airflow/providers/jenkins/operators/jenkins_job_trigger.py +++ b/providers/jenkins/src/airflow/providers/jenkins/operators/jenkins_job_trigger.py @@ -30,8 +30,8 @@ from requests import Request from airflow.exceptions import AirflowException -from airflow.models import BaseOperator from airflow.providers.jenkins.hooks.jenkins import JenkinsHook +from airflow.providers.jenkins.version_compat import BaseOperator JenkinsRequest = Mapping[str, Any] ParamType = str | dict | list | None diff --git a/providers/jenkins/src/airflow/providers/jenkins/sensors/jenkins.py b/providers/jenkins/src/airflow/providers/jenkins/sensors/jenkins.py index ccaef5d3704a2..faceda77ff05c 100644 --- a/providers/jenkins/src/airflow/providers/jenkins/sensors/jenkins.py +++ b/providers/jenkins/src/airflow/providers/jenkins/sensors/jenkins.py @@ -22,19 +22,10 @@ from airflow.exceptions import AirflowException from airflow.providers.jenkins.hooks.jenkins import JenkinsHook -from airflow.providers.jenkins.version_compat import AIRFLOW_V_3_0_PLUS - -if AIRFLOW_V_3_0_PLUS: - from airflow.sdk import BaseSensorOperator -else: - from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef] +from airflow.providers.jenkins.version_compat import BaseSensorOperator if TYPE_CHECKING: - try: - from airflow.sdk.definitions.context import Context - except ImportError: - # TODO: Remove once provider drops support for Airflow 2 - from airflow.utils.context import Context + from airflow.providers.jenkins.version_compat import Context class JenkinsBuildSensor(BaseSensorOperator): diff --git a/providers/jenkins/src/airflow/providers/jenkins/version_compat.py b/providers/jenkins/src/airflow/providers/jenkins/version_compat.py index 48d122b669696..da54ff9f75652 100644 --- a/providers/jenkins/src/airflow/providers/jenkins/version_compat.py +++ b/providers/jenkins/src/airflow/providers/jenkins/version_compat.py @@ -33,3 +33,18 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]: AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0) + +if AIRFLOW_V_3_0_PLUS: + from airflow.sdk import BaseOperator, BaseSensorOperator + from airflow.sdk.definitions.context import Context +else: + from airflow.models import BaseOperator # type: ignore[no-redef] + from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef] + from airflow.utils.context import Context # type: ignore[no-redef] + +__all__ = [ + "AIRFLOW_V_3_0_PLUS", + "BaseOperator", + "BaseSensorOperator", + "Context", +]