airflow.contrib.hooks.dingding_hook

Module Contents

class airflow.contrib.hooks.dingding_hook.DingdingHook(dingding_conn_id='dingding_default', message_type='text', message=None, at_mobiles=None, at_all=False, *args, **kwargs)[source]

Bases: airflow.hooks.http_hook.HttpHook

This hook allows you send Dingding message using Dingding custom bot. Get Dingding token from conn_id.password. And prefer set domain to conn_id.host, if not will use default https://oapi.dingtalk.com.

For more detail message in Dingding custom bot

Parameters
  • dingding_conn_id (str) – The name of the Dingding connection to use

  • message_type (str) – Message type you want to send to Dingding, support five type so far including text, link, markdown, actionCard, feedCard

  • message (str or dict) – The message send to Dingding chat group

  • at_mobiles (list[str]) – Remind specific users with this message

  • at_all (bool) – Remind all people in group or not. If True, will overwrite at_mobiles

_get_endpoint(self)[source]

Get Dingding endpoint for sending message.

_build_message(self)[source]

Build different type of Dingding message As most commonly used type, text message just need post message content rather than a dict like {'content': 'message'}

get_conn(self, headers=None)[source]

Overwrite HttpHook get_conn because just need base_url and headers and not don’t need generic params

Parameters

headers (dict) – additional headers to be passed through as a dictionary

send(self)[source]

Send Dingding message