Как узнать переменные / методы Дженкинса из плагинов

Чтобы отфильтровать список dicts, вы можете использовать фильтр selectattr вместе с тестом equalto :

network.addresses.private_man | selectattr("type", "equalto", "fixed")

Для этого требуется Jinja2 v2 .8 или более поздней версии (независимо от версии Ansible).


. Сильно также имеет тесты match и search , которые принимают регулярные выражения:

match потребует полного совпадения в строке, тогда как search потребует совпадения внутри строки.

network.addresses.private_man | selectattr("type", "match", "^fixed$")

Чтобы уменьшить список dicts в список строк, поэтому вы получаете только список полей addr, вы можете использовать фильтр карты :

... | map(attribute='addr') | list

Или, если вы хотите строку с разделителями-запятыми:

... | map(attribute='addr') | join(',')

В сочетании, это будет выглядеть так.

- debug: msg={{ network.addresses.private_man | selectattr("type", "equalto", "fixed") | map(attribute='addr') | join(',') }}

-1
задан BLang 16 January 2019 в 03:01
поделиться