Using conditional "when" with handlers

HI
I have a code in my playbook like this :

- name: Copy init scripts
template: src=file-server.conf.j2 dest=/etc/init/file-server.conf
register: init_script
notify: restart file-server

- name: Copy env scripts
template: src=file-server.env.j2 dest=/etc/default/file-server.env
register: env_script
notify: restart file-server

I want to notify the handler for both tasks in one “handler”. I tried :
- name: restart file-server
service: name=file-server state=restarted
when: {{ item}}.changed
with_items:
- init_script
- env_script

but it doesn’t work!!
Any ideas ?

Hi, I guess, init_script and env_script are much longer, that you thougth. Try:

  • debug: var=env_script to see which part of variable you want to use.

Hi, actually handlers are triggered once at the end of each block of tasks in a playbook, even were notified by multiple different tasks. I might be wrong, but in your case i don’t understand why you need to use when statement with handler task.