Apache Airflow Provider for DingDing
raw JSON → 3.9.4 verified Fri May 01 auth: no python
A provider package for Apache Airflow that integrates with DingDing (DingTalk), allowing users to send notifications, trigger alerts, and interact with DingDing chatbot via Airflow operators and hooks. Current version 3.9.4, released as part of the Airflow provider ecosystem with regular updates aligned with Airflow release cadence.
pip install apache-airflow-providers-dingding Common errors
error ModuleNotFoundError: No module named 'airflow.providers.dingding' ↓
cause Provider package not installed.
fix
Run
pip install apache-airflow-providers-dingding or pip install apache-airflow[dingding]. error AirflowException: The conn_id `dingding_default` isn't defined ↓
cause DingDing connection not configured in Airflow UI or environment.
fix
Add a connection with conn_id='dingding_default', conn_type='dingding', and extra={'access_token': 'your_token'}.
error AttributeError: module 'airflow.providers.dingding.hooks.dingding' has no attribute 'DingdingHook' ↓
cause Old import path used.
fix
Use
from airflow.providers.dingding.hooks.dingding import DingdingHook. Warnings
breaking Minimum Python version raised to 3.10; Python 3.8/3.9 no longer supported. ↓
fix Use Python >=3.10, or pin to provider version <3.9.0 for Python 3.8/3.9.
deprecated DingdingHook.send_message() method is deprecated; use DingdingOperator or call hook with new API. ↓
fix Switch to DingdingOperator or use DingdingHook.send() with keyword arguments.
gotcha Connection secret token must be exactly the 'access_token' field; do not include the entire webhook URL. ↓
fix Set 'extra' JSON as {"access_token": "your_token"}, not the full URL.
Install
pip install apache-airflow[dingding] Imports
- DingdingHook wrong
from airflow.contrib.hooks.dingding_hook import DingdingHookcorrectfrom airflow.providers.dingding.hooks.dingding import DingdingHook - DingdingOperator wrong
from airflow.operators.dingding_operator import DingdingOperatorcorrectfrom airflow.providers.dingding.operators.dingding import DingdingOperator
Quickstart
from airflow import DAG
from airflow.providers.dingding.operators.dingding import DingdingOperator
from datetime import datetime
with DAG('dingding_test', start_date=datetime(2024,1,1), schedule_interval=None, catchup=False) as dag:
notify = DingdingOperator(
task_id='send_dingding',
dingding_conn_id='dingding_default',
message_type='text',
message='Hello from Airflow!',
)