2017-11-21 1 views
0

Ich verwende Ansible, um einige Testfälle gegen unsere Web-Services zu führen. Im Anschluss ist mein Textbuch:Ansible Aufgabe basierend auf Debug-Ausgabe

- hosts: localhost 
     connection: local 
     tasks: 
     - name: Testing the API... 
      uri: 
      url: https://api.example.com/v1/ 
      method: GET 
      user: username 
      password: password 
      status_code: 200 
      return_content: yes 
      force_basic_auth: yes 
     register: results 

     - debug: var=results 

Über Textbuch funktioniert gut und gibt die folgende Ausgabe:

ok: [localhost] => { 
    "results": { 
    "access_control_allow_origin": "*", 
    "cache_control": "max-age=864000, private", 
    "changed": false, 
    "connection": "close", 
    "content": "\r\n{\"id\":1,\"deleted\":false,\"first-name\":\"xxx\",\"last-name\":\"xxx\",\"name\":\"xxx\",\"title\":\"xxx\",\"background\":\"\",\"company-id\":xx,\"company-name\":\"example\",\"company-type-id\":2,\"company-type-name\":\"Customer\",\"email-address-work\":\"[email protected]\",\"email-address-personal\":\"\",\"email-address-alternate\":\"\",\"email-address-other\":\"\",\"phone-number-work\":\1234567890\",\"phone-number-home\":\"\",\"phone-number-mobile\":\"252654789\",\"phone-number-alternate\":\"256471235\",\"business-street\":\"526574, usa\",\"business-city\":\"San Antonio\",\"business-state\":\"TX\",\"business-zip\":\"1234607\",\"business-country\":\"United States\",\"home-street\":\"\",\"home-city\":\"\",\"home-state\":\"\",\"home-zip\":\"\",\"home-country\":\"\",\"created-time\":\"2015-11-03T20:56:33.000Z\",\"last-modified-time\":\"2017-11-21T06:27:55.000Z\",\"tags\":[]}", 
    "content_length": "857", 
    "content_type": "application/json", 
    "date": "Tue, 21 Nov 2017 09:59:34 GMT", 
    "expires": "Fri, 01 Dec 2017 09:59:34 GMT", 

Nun, ich will eine andere Aufgabe ausgeführt werden soll, wenn es irgendwelche Daten außerhalb der Blume Klammern des ‚Inhalt ist ' Sektion. In der obigen Ausgabe beginnt es mit 'content": "\r\n{\"id\":1,\"deleted...'. Irgendeine Idee, wie ich das erreichen kann? genügen

+0

Sie fragen also, wie man eine Bedingung schreibt, die zu 'true' führt, wenn das erste Zeichen nicht' {'? – techraf

+0

Ja, Sie sind richtig – Techie

+0

Sind Sie sicher, dass Sie das brauchen? – techraf

Antwort

0

sollten Diese Bedingung:

when: "(results.content | regex_replace('{.*}', '')) != ''" 

nur prüfen, ob die Zeichenfolge nach dem Entfernen alles zwischen { und } leer.

+0

mein schlechtes. Es klappt. Es war mein Missverständnis. Ich habe mein Spiel aktualisiert und konnte die korrekten Ergebnisse sehen. Kannst du mir bitte helfen, '\ r \ n' außerhalb der {zu ignorieren? – Techie

Verwandte Themen