Jenis Masalah : Laporan Bug
Versi yang Mungkin : 1.9.4
Lingkungan : OSX 10.11.1
Ringkasan : Menggunakan lookup
untuk merender template yang diteruskan ke parameter uri
modul body
tidak berfungsi. Itu melempar kesalahan TypeError: unhashable type
. Saya membuka pertanyaan StackOverflow tentang ini, dan berpikir masuk akal untuk mempostingnya di sini juga.
Langkah-langkah Untuk Mereproduksi :
Jalankan tugas ini:
- name: Post
uri:
url: https://hooks.slack.com/endpoint
method: POST
return_content: no
HEADER_Content-Type: "application/json"
body: "{{ lookup('template', '../templates/my.json.j2', convert_data=False) }}"
dengan ini di my.json.j2
:
{
"channel": "chatops",
"username": "Deploy",
"text": "TEST Deploy!",
"icon_emoji": ":ghost:"
}
Melipat JSON menjadi satu baris di dalam template memiliki efek yang sama. Mem-pipe respons lookup
melalui to_json
juga tidak berfungsi. Namun, mengambil JSON yang terlipat dan menggunakannya _directly_ dalam permainan tidak berhasil.
Hasil yang diharapkan : JSON yang tepat dikirim ke titik akhir
Hasil sebenarnya : TypeError: unhashable type
error; juga, dalam keadaan tertentu, kesalahan not valid JSON
dikembalikan oleh titik akhir, yang menunjukkan bahwa data tidak dikirim dengan benar.
Hai!
Terima kasih banyak atas minat Anda pada Ansible. Ini dengan tulus sangat berarti bagi kami.
Tampaknya ini adalah pertanyaan pengguna, dan kami ingin mengarahkan hal-hal semacam ini ke milis atau saluran IRC.
Jika Anda bisa mampir ke sana, kami akan sangat menghargainya. Ini memungkinkan kami untuk menyimpan pelacak masalah untuk bug, permintaan tarik, RFE, dan sejenisnya.
Terima kasih sekali lagi dan kami berharap dapat melihat Anda di daftar atau IRC. Terima kasih!
Ini diperbaiki di 2.0: cukup tambahkan _body_format: json_ ke modul uri (dan hapus _convert_data=False_)
Selain itu, Anda tidak perlu menyetel header Content-Type sendiri saat menyetel body_format ke json.
Hai, dukungan apa pun terkait masalah ini:
http://stackoverflow.com/questions/43117635/ansible-variable-not-rendered-inside-json-object
Komentar yang paling membantu
Ini diperbaiki di 2.0: cukup tambahkan _body_format: json_ ke modul uri (dan hapus _convert_data=False_)
Selain itu, Anda tidak perlu menyetel header Content-Type sendiri saat menyetel body_format ke json.