# How to use variable in "when" statement in ansible?

**URL:** <https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484>\
**Category:** Ansible Project\
**Created:** [January 21, 2019, 5:48pm UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484 "2019-01-21T17:48:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sahar](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@Sahar](https://forum.ansible.com/u/Sahar)\
**Post date:** [January 21, 2019, 5:48pm UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484/1 "2019-01-21T17:48:51Z")

</div>

Any idea how can I fix the below error?

tasks:

- name: check the state (primary/secondary/standalone)  
asa\_command:  
commands:

- ‘show version | i “{{ OldImage }}”’  
register: state

- include: reboot.yml  
when: ‘“{{ OldImage }}” in state.stdout’

Error I’m receiving:

TASK [include] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: “{{ OldImage }}” in  
state.stdout  
skipping: [Fw4Script-01.tor.bellnhs.int]  
[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: “{{ OldImage }}” in  
state.stdout  
skipping: [Fw4Script-02.tor.bellnhs.int]

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [January 21, 2019, 5:56pm UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484/2 "2019-01-21T17:56:54Z")

</div>

As the error message say, you can't use {{ }} in when so just do

&nbsp;&nbsp;when: OldImage in state.stdout

---

<div class="post-metadata">

**Author:** ![Sahar](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@Sahar](https://forum.ansible.com/u/Sahar)\
**Post date:** [January 21, 2019, 6:42pm UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484/3 "2019-01-21T18:42:40Z")

</div>

Any alternative to make this work?

---

<div class="post-metadata">

**Author:** ![Sahar](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@Sahar](https://forum.ansible.com/u/Sahar)\
**Post date:** [January 21, 2019, 11:01pm UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484/4 "2019-01-21T23:01:07Z")

</div>

I don’t get the error anymore, but it doesn’t work as expected either. I will skip my both devices which is not expected:

TASK [include] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
skipping: [[Fw4Script-01.tor.int](http://Fw4Script-01.tor.int)]  
skipping: [[Fw4Script-02.tor.int](http://Fw4Script-02.tor.int)]

---

<div class="post-metadata">

**Author:** ![goforawalktwice](https://avatars.discourse-cdn.com/v4/letter/g/c5a1d2/32.png) [@goforawalktwice](https://forum.ansible.com/u/goforawalktwice)\
**Post date:** [January 22, 2019, 5:49am UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484/5 "2019-01-22T05:49:44Z")

</div>

Try dumping the contents of state.stdout ... Use a debug and you'll need braces

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [January 31, 2019, 12:34am UTC](https://forum.ansible.com/t/how-to-use-variable-in-when-statement-in-ansible/29484/6 "2019-01-31T00:34:38Z")

</div>

when: "'OldImage' in state.stdout"

since i assume OldImage is a string and not a variable.
