#16604·awx

Empty variables are not displayed in Extra Variables (change AAP-49448)

Author: EdwinKMCreated Aug 19, 2026Updated Aug 19, 2026
Labelstype:bugneeds_triagecommunity

Please confirm the following

  • I agree to follow this project's code of conduct.
  • I have checked the current issues for duplicates.
  • I understand that AWX is open source software provided for free and that I might not receive a timely response.
  • I am NOT reporting a (potential) security vulnerability. (These should be emailed to [email protected] instead.)

Bug Summary

Description

AAP incorrectly hides extra variables with empty string values on the details page, while still passing them to the playbook as defined variables.

Since extra variables are immutable in Ansible, a hidden empty string value cannot be overridden at any lower precedence level. This causes the following issues:

  • The variable appears to be absent in the UI, while it is silently influencing playbook behavior
  • This makes troubleshooting unnecessarily difficult, as the actual state of the variable is not transparent to the user

Expected behavior Extra variables with empty string values should be visible on the details page, as they are technically defined and actively passed to the playbook. Hiding them provides a misleading representation of the playbook's execution context.

Suggested fix Display all extra variables regardless of their value, including empty strings, to ensure full transparency and accurate troubleshooting.

AWX version

Ansible Automation Platform 2.6 (Automation Controller Version 4.7.13)

Select the relevant components

  • UI
  • UI (tech preview)
  • API
  • Docs
  • Collection
  • CLI
  • Other

Installation method

docker development environment

Modifications

no

Ansible version

No response

Operating system

redhat

Web browser

No response

Steps to reproduce

Steps to reproduce

  • Create a template with a "prompt on lauch"
--
 
- name: Initialize
  hosts: localhost
  gather_facts: no
  tasks:
    - name: step0
      debug:
        msg: "x is not defined!"
      when: x is not defined
 
    - name: step1
      debug:
        msg: "x is defined, value: {{ x }}"
      when: x is defined

Steps to reproduce - Wrong

  • Launch template
  • Enter the following data
{
  "x": "",
  "y": "value"
}
  • Execute the job
  • Navigate to the results page: /execution/jobs/playbook//details
  • This only shows:
'y': value
  • This is the job output:
PLAY [Initialize] **************************************************************
 
TASK [step0] *******************************************************************
skipping: [localhost]
 
TASK [step1] *******************************************************************
ok: [localhost] => {
    "msg": "x is defined, value: "
}
 
PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   

Steps to reproduce - Correct

  • Launch template
  • Enter the following data
{
 "y": "value"
}
  • Execute the job
  • Navigate to the results page: /execution/jobs/playbook//details
  • This shows:
'y': value
  • This is the job output:

PLAY [Initialize] **************************************************************

TASK [step0] ******************************************************************* ok: [localhost] => { "msg": "x is not defined!" }

TASK [step1] ******************************************************************* skipping: [localhost]

PLAY RECAP ********************************************************************* localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0


### Expected results

Show "x"

### Actual results

Only shows "y"

### Additional information

_No response_