我在剧本中有一些任务。我需要为每个任务发送一条消息。
- 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 发送通知消息”)。我不知道如何将任务名称作为变量传递给处理程序。
我如何将任务名称作为变量传递?
答案1
您可能不想为此使用处理程序。处理程序用于诸如服务管理之类的事情,您不希望它们在游戏结束前运行。它们不打算接受参数。
在你的情况下,我假设你想在任务运行时立即通过 slack 发送通知,为此,你可以在“上传到 kerbenetes 配置”任务下添加 slack 通知任务,或者你可以使用一项任务包括带有参数。
例子:
主要.yml: - 名称:上传 kubernetes 配置 模板: src=kubernetes-config.j2 目标=/etc/kubernetes/config 备份=是 组=root 所有者=root 模式="u=rw,g=r,o=r" - 包含:send_slack.yml msg="kurbenetes 已更新!"
发送_slack.yml: - 名称:通过 Slack 发送通知消息 本地操作: 模块:松弛 域名:hsap.slack.com token:你的 token 消息:“{{ansible_nodename}} - {{ansible_distribution}} - {{ msg }}”