airflow.operators.slack_operator

Module Contents

class airflow.operators.slack_operator.SlackAPIOperator(slack_conn_id=None, token=None, method=None, api_params=None, *args, **kwargs)[source]

Bases: airflow.models.BaseOperator

Base Slack Operator The SlackAPIPostOperator is derived from this operator. In the future additional Slack API Operators will be derived from this class as well

Parameters
construct_api_call_params(self)[source]

Used by the execute function. Allows templating on the source fields of the api_call_params dict before construction

Override in child classes. Each SlackAPIOperator child class is responsible for having a construct_api_call_params function which sets self.api_call_params with a dict of API call parameters (https://api.slack.com/methods)

execute(self, **kwargs)[source]

SlackAPIOperator calls will not fail even if the call is not unsuccessful. It should not prevent a DAG from completing in success

class airflow.operators.slack_operator.SlackAPIPostOperator(channel='#general', username='Airflow', text='No message has been set.nHere is a cat video insteadnhttps://www.youtube.com/watch?v=J---aiyznGQ', icon_url='https://raw.githubusercontent.com/apache/airflow/master/airflow/www/static/pin_100.png', attachments=None, *args, **kwargs)[source]

Bases: airflow.operators.slack_operator.SlackAPIOperator

Posts messages to a slack channel

Parameters
  • channel (str) – channel in which to post message on slack name (#general) or ID (C12318391). (templated)

  • username (str) – Username that airflow will be posting to Slack as. (templated)

  • text (str) – message to send to slack. (templated)

  • icon_url (str) – url to icon used for this message

  • attachments (array of hashes) – extra formatting details. (templated) - see https://api.slack.com/docs/attachments.

template_fields = ['username', 'text', 'attachments', 'channel'][source]
ui_color = #FFBA40[source]
construct_api_call_params(self)[source]