Ansible: لا يمكن عرض JSON في Ansible و POST عبر وحدة uri

تم إنشاؤها على ٢٦ نوفمبر ٢٠١٥  ·  3تعليقات  ·  مصدر: ansible/ansible

نوع المشكلة : تقرير الشوائب
الإصدار أنسبل : 1.9.4
البيئة : OSX 10.11.1

الملخص : استخدام lookup لتصيير قالب يتم تمريره إلى المعلمة uri للوحدة النمطية body لا يعمل. يؤدي إلى ظهور خطأ TypeError: unhashable type . فتحت سؤال StackOverflow حول هذا الموضوع ، واعتقدت أنه من المنطقي نشره هنا أيضًا.

خطوات الاستنساخ :

قم بتشغيل هذه المهمة:

- 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) }}"

مع هذا my.json.j2 :

{
  "channel": "chatops",
  "username": "Deploy",
  "text": "TEST Deploy!",
  "icon_emoji": ":ghost:"
}

إن طي JSON في سطر واحد داخل القالب له نفس التأثير. كما أن تمرير استجابة lookup عبر to_json لا يعمل أيضًا. ومع ذلك ، فإن أخذ JSON المطوي واستخدامه _ مباشرة_ في المسرحية ينجح.

النتيجة المتوقعة : تم إرسال JSON المناسب إلى نقطة النهاية

النتيجة الفعلية : TypeError: unhashable type error؛ أيضًا ، في ظروف معينة ، يتم إرجاع الخطأ not valid JSON خلال نقطة النهاية ، مما يشير إلى أن البيانات لا يتم إرسالها بشكل صحيح.

التعليق الأكثر فائدة

تم إصلاح هذا في 2.0: فقط أضف _body_format: json_ إلى وحدة uri (وقم بإزالة _convert_data = False_)
أيضًا ، لا يتعين عليك تعيين رأس نوع المحتوى بنفسك عند تعيين body_format على json.

ال 3 كومينتر

معلومات القائمة

أهلا!

شكرا جزيلا لاهتمامك في أنسيبل. إنه يعني الكثير بالنسبة لنا بصدق.

يبدو أن هذا سؤال مستخدم ، ونود توجيه هذه الأنواع من الأشياء إما إلى القائمة البريدية أو قناة IRC.

إذا كان بإمكانك التوقف عند هذا الحد ، فنحن نقدر ذلك. يتيح لنا ذلك الاحتفاظ بمتعقب المشكلات بحثًا عن الأخطاء وطلبات السحب و RFEs وما شابه ذلك.

شكرًا لك مرة أخرى ونتطلع إلى رؤيتك في القائمة أو IRC. شكرا!

تم إصلاح هذا في 2.0: فقط أضف _body_format: json_ إلى وحدة uri (وقم بإزالة _convert_data = False_)
أيضًا ، لا يتعين عليك تعيين رأس نوع المحتوى بنفسك عند تعيين body_format على json.

مرحبًا ، أي دعم بخصوص هذه المشكلة:

http://stackoverflow.com/questions/43117635/ansible-variable-not-rendered-inside-json-object

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات