Spec-Zone.ru › Ansible 2.11

community.general.slack – Отправка уведомлений в Slack

Примечание

Этот плагин входит в коллекцию community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в книге задач укажите: community.general.slack.

  • Обзор
  • Параметры
  • Примеры

Обзор

  • Модуль slack отправляет уведомления на http://slack.com через интеграцию Входящего веб-хука.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attachments
список / элементы=строка
Определяет список вложений. Этот список отражает JSON API Slack.
Для получения дополнительной информации, см. https://api.slack.com/docs/attachments.
blocks
список / элементы=словарь
добавлено в 1.0.0 community.general
Определяет список блоков. Этот список отражает JSON API Slack.
Для получения дополнительной информации, см. https://api.slack.com/block-kit.
channel
строка
Канал для отправки сообщения. Если отсутствует, сообщение отправляется в канал, выбранный для token.
color
строка
По умолчанию:
"normal"
Разрешает использовать стандартные цвета текста - используйте значение по умолчанию 'normal', чтобы не отправлять настраиваемую цветную полосу в начале сообщения.
Допустимые значения цвета: 'normal', 'good', 'warning', 'danger', любое допустимое 3- или 6-значное шестнадцатеричное значение цвета.
Поддержка шестнадцатеричных значений поддерживается с Ansible 2.8.
domain
строка
Домен Slack (поддомен) для вашей среды без протокола. (например, example.slack.com) В версиях 1.8 и выше данное поле устарело и может быть проигнорировано. Обратитесь к документации по параметру token.
icon_emoji
строка
Эмоджи отправителя сообщения. См. документацию Slack для вариантов. (если icon_emoji установлен, icon_url не будет использоваться)
icon_url
строка
По умолчанию:
"https://www.ansible.com/favicon.ico"
Ссылка на иконку отправителя сообщения (по умолчанию https://www.ansible.com/favicon.ico)
link_names
целое число
    Варианты:
  • 1
  • 0
По умолчанию:
1
Автоматически создает ссылки на каналы и имена пользователей в msg.
message_id
строка
добавлено в 1.2.0 community.general
Необязательно. Идентификатор сообщения для редактирования вместо отправки нового. Соответствует ts в API Slack (https://api.slack.com/messaging/modifying).
msg
строка
Отправляемое сообщение. Обратите внимание, что модуль не обрабатывает экранирование символов. Знаки "<" и ">" в тексте должны быть преобразованы в HTML-сущности (например, & в &amp;) перед отправкой. Для получения дополнительной информации см. документацию Slack (https://api.slack.com/docs/message-formatting).
parse
строка
    Варианты:
  • full
  • none
Настройка парсера сообщений в Slack.
thread_id
строка
Необязательно. Метка времени родительского сообщения для привязки к нити. https://api.slack.com/docs/message-threading
token
строка / обязательно
Токен интеграции Slack. Это аутентифицирует вас в службе Slack. Убедитесь, что используется правильный тип токена в зависимости от используемого метода.
Токен веб-хука: До версии 1.8, токен выглядел как 3Ffe373sfhRE6y42Fg3rvf4GlK. В версии 1.8 и выше Ansible адаптируется к новому API Slack, где токены выглядят как G922VJP24/D921DW937/3Ffe373sfhRE6y42Fg3rvf4GlK. Если токен в новом формате, то Slack проигнорирует любое значение domain. Если токен в старом формате, то domain обязателен. Ansible не контролирует, когда Slack откажется от старого API. Когда Slack это сделает, старый формат перестанет работать. ** Пожалуйста, имейте в виду, что токены - это не API-токены, а токены веб-хука. В Slack они находятся в URL веб-хука, который можно получить в разделе приложения и интеграции. Входящие веб-хуки можно добавить в этом разделе. В некоторых случаях это может быть заблокировано администратором Slack, и вам нужно запросить доступ. Именно там можно добавить входящие веб-хуки. Ключ находится в конце URL, предоставленного вам в этом разделе.
Токен WebAPI: Slack WebAPI требует личного, бота или токена приложения. Эти токены начинаются с xoxp-, xoxb- или xoxa-, например xoxb-1234-56789abcdefghijklmnop. Токен WebAPI необходим, если вы намерены получать thread_id. См. документацию Slack (https://api.slack.com/docs/token-types) для получения дополнительной информации.
username
строка
По умолчанию:
"Ansible"
Это отправитель сообщения.
validate_certs
логическое
    Варианты:
  • no
  • да ←
Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых вами лично, с самозаверяющими сертификатами.

Примеры

- name: Send notification message via Slack
  community.general.slack:
    token: thetoken/generatedby/slack
    msg: '{{ inventory_hostname }} completed'
  delegate_to: localhost

- name: Send notification message via Slack all options
  community.general.slack:
    token: thetoken/generatedby/slack
    msg: '{{ inventory_hostname }} completed'
    channel: '#ansible'
    thread_id: '1539917263.000100'
    username: 'Ansible on {{ inventory_hostname }}'
    icon_url: http://www.example.com/some-image-file.png
    link_names: 0
    parse: 'none'
  delegate_to: localhost

- name: Insert a color bar in front of the message for visibility purposes and use the default webhook icon and name configured in Slack
  community.general.slack:
    token: thetoken/generatedby/slack
    msg: '{{ inventory_hostname }} is alive!'
    color: good
    username: ''
    icon_url: ''

- name: Insert a color bar in front of the message with valid hex color value
  community.general.slack:
    token: thetoken/generatedby/slack
    msg: 'This message uses color in hex value'
    color: '#00aacc'
    username: ''
    icon_url: ''

- name: Use the attachments API
  community.general.slack:
    token: thetoken/generatedby/slack
    attachments:
      - text: Display my system load on host A and B
        color: '#ff00dd'
        title: System load
        fields:
          - title: System A
            value: "load average: 0,74, 0,66, 0,63"
            short: True
          - title: System B
            value: 'load average: 5,16, 4,64, 2,43'
            short: True

- name: Use the blocks API
  community.general.slack:
    token: thetoken/generatedby/slack
    blocks:
      - type: section
        text:
          type: mrkdwn
          text: |-
            *System load*
            Display my system load on host A and B
      - type: context
        elements:
        - type: mrkdwn
          text: |-
            *System A*
            load average: 0,74, 0,66, 0,63
        - type: mrkdwn
          text: |-
            *System B*
            load average: 5,16, 4,64, 2,43

- name: Send a message with a link using Slack markup
  community.general.slack:
    token: thetoken/generatedby/slack
    msg: We sent this message using <https://www.ansible.com|Ansible>!

- name: Send a message with angle brackets and ampersands
  community.general.slack:
    token: thetoken/generatedby/slack
    msg: This message has &lt;brackets&gt; &amp; ampersands in plain text.

- name: Initial Threaded Slack message
  community.general.slack:
    channel: '#ansible'
    token: xoxb-1234-56789abcdefghijklmnop
    msg: 'Starting a thread with my initial post.'
  register: slack_response
- name: Add more info to thread
  community.general.slack:
    channel: '#ansible'
    token: xoxb-1234-56789abcdefghijklmnop
    thread_id: "{{ slack_response['ts'] }}"
    color: good
    msg: 'And this is my threaded response!'

- name: Send a message to be edited later on
  community.general.slack:
    token: thetoken/generatedby/slack
    channel: '#ansible'
    msg: Deploying something...
  register: slack_response
- name: Edit message
  community.general.slack:
    token: thetoken/generatedby/slack
    channel: "{{ slack_response.channel }}"
    msg: Deployment complete!
    message_id: "{{ slack_response.ts }}"

Авторы

  • Ramon de la Fuente (@ramondelafuente)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/slack_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API