blob: f2827bd5c5191e28ac20f86a4fdc879f9b92bdd6 [file] [log] [blame]
:mod:`airflow.contrib.hooks.dingding_hook`
==========================================
.. py:module:: airflow.contrib.hooks.dingding_hook
Module Contents
---------------
.. py:class:: DingdingHook(dingding_conn_id='dingding_default', message_type='text', message=None, at_mobiles=None, at_all=False, *args, **kwargs)
Bases: :class:`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 <https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq>`_
:param dingding_conn_id: The name of the Dingding connection to use
:type dingding_conn_id: str
:param message_type: Message type you want to send to Dingding, support five type so far
including text, link, markdown, actionCard, feedCard
:type message_type: str
:param message: The message send to Dingding chat group
:type message: str or dict
:param at_mobiles: Remind specific users with this message
:type at_mobiles: list[str]
:param at_all: Remind all people in group or not. If True, will overwrite ``at_mobiles``
:type at_all: bool
.. method:: _get_endpoint(self)
Get Dingding endpoint for sending message.
.. method:: _build_message(self)
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'}``
.. method:: get_conn(self, headers=None)
Overwrite HttpHook get_conn because just need base_url and headers and
not don't need generic params
:param headers: additional headers to be passed through as a dictionary
:type headers: dict
.. method:: send(self)
Send Dingding message