У меня есть задача в сборнике пьес. Мне нужно отправлять сообщения для каждой задачи.
- name: Upload kubernetes config
template:
src=kubernetes-config.j2
dest=/etc/kubernetes/config backup=yes
group=root
owner=root
mode="u=rw,g=r,o=r"
notify: Send notification message via Slack
Я использую модуль уведомлений Slack.
- name: Send notification message via Slack
local_action:
module: slack
domain: hsap.slack.com
token: yourtoken
msg: "{{ansible_nodename}} - {{ansible_distribution}}"
Я имею в виду использовать один обработчик («Отправить уведомление через Slack»). Я не знаю, как передать имя задачи как переменную обработчику.
¿Как передать имя задачи в виде переменной?
Вы, вероятно, не захотите использовать для этого обработчики. Обработчики предназначены для таких вещей, как управление услугами, когда вы не хотите, чтобы они работали до конца вашей игры. Они не предназначены для приема параметров.
В вашем случае я предполагаю, что вы хотите отправить уведомление через slack, как только задача будет запущена, для этого вы можете добавить задачу уведомления slack под своей задачей «загрузить в конфигурацию kerbenetes» или вы можете использовать задача включает с параметром.
Пример:
main.yml: - name: Upload kubernetes config template: src=kubernetes-config.j2 dest=/etc/kubernetes/config backup=yes group=root owner=root mode="u=rw,g=r,o=r" - include: send_slack.yml msg="kurbenetes updated!"
send_slack.yml: - name: Send notification message via Slack local_action: module: slack domain: hsap.slack.com token: yourtoken msg: "{{ansible_nodename}} - {{ansible_distribution}} - {{ msg }}"