Изменить после комментария пользователя:
Хотя мое предложение, представленное ниже, все еще является хорошей практикой и предотвратит некоторые возможные будущие головные боли, в данном случае оно оказалось не проблемой.
Я не сделалСначала обратите внимание, что вы запрашиваете URL-вызов для возврата статуса 201 или 202, в то время как в документации jira указано, что вы получите 200 .
Вы должны либо:
- Изменить ожидаемый код возврата:
status: 200
- Полностью отказаться от опции статуса и изменить свое состояние:
until: response.status == 200 and (result.json.success | bool)
Исходное предложение (не исправляет, но все еще является хорошей практикой)
В ансибле обычно плохая идея проверять на наличие литерала true
или false
, потому что ансибл / ямл довольно разрешающийо значениях, которые вы можете использовать для этого (да, истина, Y, 1, 234, нет, ложь, 0, ...), а также потому, что значения иногда можно интерпретировать как чистые строки, а не как логические значения (попробуйте с vars_prompt до understantпроблема, если у вас есть время).
Ansible предоставляет фильтр для проверки логического представления значения.Я не уверен на 100%, что это решит вашу текущую проблему, но я бы попробовал с until: result.json.success | bool