# salt.modules.slack_notify

Module for sending messages to Slack

Added in version 2015.5.0.

configuration:

  This module can be used by either passing an api key and version directly or by specifying both in a configuration profile in the salt master/minion config.

  For example:

      slack:
        api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15

salt.modules.slack_notify.call_hook(message, attachment=None, color='good', short=False, identifier=None, channel=None, username=None, icon_emoji=None)

  Send message to Slack incoming webhook.

  Parameters:

    - message -- The topic of message.

    - attachment -- The message to send to the Slack WebHook.

    - color -- The color of border of left side

    - short -- An optional flag indicating whether the value is short enough to be displayed side-by-side with other values.

    - identifier -- The identifier of WebHook.

    - channel -- The channel to use instead of the WebHook default.

    - username -- Username to use instead of WebHook default.

    - icon_emoji -- Icon to use instead of WebHook default.

  Returns:

    Boolean if message was sent successfully.

  CLI Example:

      salt '*' slack.call_hook message='Hello, from SaltStack'

salt.modules.slack_notify.find_room(name, api_key=None)

  Find a room by name and return it.

  Parameters:

    - name -- The room name.

    - api_key -- The Slack admin api key.

  Returns:

    The room object.

  CLI Example:

      salt '*' slack.find_room name="random"

      salt '*' slack.find_room name="random" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15

salt.modules.slack_notify.find_user(name, api_key=None)

  Find a user by name and return it.

  Parameters:

    - name -- The user name.

    - api_key -- The Slack admin api key.

  Returns:

    The user object.

  CLI Example:

      salt '*' slack.find_user name="ThomasHatch"

      salt '*' slack.find_user name="ThomasHatch" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15

salt.modules.slack_notify.list_rooms(api_key=None)

  List all Slack rooms.

  Parameters:

    api_key -- The Slack admin api key.

  Returns:

    The room list.

  CLI Example:

      salt '*' slack.list_rooms

      salt '*' slack.list_rooms api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15

salt.modules.slack_notify.list_users(api_key=None)

  List all Slack users.

  Parameters:

    api_key -- The Slack admin api key.

  Returns:

    The user list.

  CLI Example:

      salt '*' slack.list_users

      salt '*' slack.list_users api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15

salt.modules.slack_notify.post_message(channel, message, from_name, api_key=None, icon=None, attachments=None, blocks=None)

  Send a message to a Slack channel.

  Changed in version 3003: Added attachments and blocks kwargs

  Parameters:

    - channel -- The channel name, either will work.

    - message -- The message to send to the Slack channel.

    - from_name -- Specify who the message is from.

    - api_key -- The Slack api key, if not specified in the configuration.

    - icon -- URL to an image to use as the icon for this message

    - attachments -- Any attachments to be sent with the message.

    - blocks -- Any blocks to be sent with the message.

  Returns:

    Boolean if message was sent successfully.

  CLI Example:

      salt '*' slack.post_message channel="Development Room" message="Build is done" from_name="Build Server"