使用Ansible任务名称作为variables

我有一个剧本的任务。 我需要为每个任务发送消息。

- 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 

我使用松散的通知模块。

 - name: Send notification message via Slack local_action: module: slack domain: hsap.slack.com token: yourtoken msg: "{{ansible_nodename}} - {{ansible_distribution}}" 

我想要使​​用一个处理程序(“通过Slack发送通知消息”)。 我不知道如何将任务名称作为variables传递给处理程序。

¿我如何将任务名称作为variables传递?

你可能不想使用这个处理程序。 处理程序是用于服务pipe理的地方,你不希望它们在你的游戏结束之前运行。 他们不打算采取参数。

在你的情况下,我假设你希望在任务运行的时候通过懈怠发送一个通知,做到这一点,你可以在“上传到核心configuration”任务下面添加你的松散通知任务,或者你可以使用一个包含任务参数的任务 。

例:

 main.yml:

 - 名称:上传kubernetesconfiguration
  模板:
     SRC = kubernetes-config.j2
     dest = / etc / kubernetes / config backup = yes
    基团=根
    所有者=根
    模式= “U = RW,G = R,O = R”
 - 包括:send_slack.yml msg =“kurbenetes更新!”

 send_slack.yml:

 - 名称:通过Slack发送通知消息
   local_action:
    模块:松弛
    域名:hsap.slack.com
    令牌:yourtoken
     msg:“{{ansible_nodename}}  -  {{ansible_distribution}}  -  {{msg}}”