Модуль community.general.slack — Отправка уведомлений в Slack
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в плейбуке, укажите: community.general.slack.
Описание
- Модуль community.general.slack отправляет уведомления на http://slack.com через интеграцию Incoming WebHook.
Параметры
Параметр | Комментарии |
|---|---|
attachments список / элементы=словарь | Определяет список вложений. Этот список отражает JSON-API Slack. Для получения дополнительной информации см. https://api.slack.com/docs/attachments. |
blocks список / элементы=словарь добавлен в community.general 1.0.0 | Определяет список блоков. Этот список отражает JSON-API Slack. Для получения дополнительной информации см. https://api.slack.com/block-kit. |
channel строка | Канал, в который будет отправлено сообщение. Если отсутствует, сообщение отправляется в канал, выбранный для |
color строка | Разрешить использованию текста стандартных цветов — использовать значение по умолчанию «нормальный» для того, чтобы не отправлять пользовательскую цветную полосу в начале сообщения. Допустимые значения для цвета могут быть «нормальный», «хороший», «предупреждение», «ошибка», любое допустимое значение цвета в формате шестнадцатеричного кода с 3 или 6 символами. Значение по умолчанию: |
domain строка | Поддомен Slack (субдомен) для вашей среды без протокола. (Например, |
icon_emoji строка | Эмоджи отправителя сообщения. См. документацию Slack для вариантов. Если |
icon_url строка | URL иконки отправителя сообщения. Значение по умолчанию: |
link_names целое число | Автоматически создавать ссылки на каналы и имена пользователей в Варианты:
|
message_id строка добавлен в community.general 1.2.0 | Необязательно. ID сообщения для редактирования вместо отправки нового сообщения. Если указан, Соответствует |
msg строка | Сообщение для отправки. Обратите внимание, что модуль не обрабатывает экранирование символов. Угловые скобки и амперсанды в простом тексте должны быть преобразованы в HTML-сущности (например, & в &) перед отправкой. См. документацию Slack (https://api.slack.com/docs/message-formatting) для получения дополнительной информации. |
parse строка | Настройка парсера сообщений в Slack Варианты:
|
prepend_hash строка добавлен в community.general 6.1.0 | Настройка для автоматического добавления символа Метод Варианты:
|
thread_id строка | Необязательно. Отметка времени родительского сообщения для создания потока сообщения. https://api.slack.com/docs/message-threading |
token строка / обязательно | Токен интеграции Slack. Он аутентифицирует вас на службе Slack. Убедитесь, что используете правильный тип токена, в зависимости от используемого метода. Токен Webhook: До Ansible 1.8 токен выглядел как Токен WebAPI: Slack WebAPI требует личного, бот или корпоративного токена приложения. Эти токены начинаются с |
username строка | Это отправитель сообщения. Значение по умолчанию: |
validate_certs boolean | Если Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: отсутствует | Вернёт детали того, что изменилось (или, возможно, нужно изменить в |
Примеры
- 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 <brackets> & 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
# The 'channel' option does not accept the channel name. It must use the 'channel_id',
# which can be retrieved for example from 'slack_response' from the previous task.
channel: "{{ slack_response.channel }}"
msg: Deployment complete!
message_id: "{{ slack_response.ts }}"
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/slack_module.html