How to inspect a json response from Ansible URI call
ansible, json, sonarqube, uri
Solution
This works for me.
- name: check sonar web is up
uri:
url: http://sonarhost:9000/sonar/api/system/status
method: GET
return_content: yes
status_code: 200
body_format: json
register: result
until: result.json.status == "UP"
retries: 10
delay: 30
Notice that `result` is a ansible dictionary and when you set `return_content=yes` the response is added to this dictionary and is accessible using `json` key
Also ensure you have indented the task properly as shown above.
Problem
I have a service call that returns system status in `json` format. I want to use the ansible URI module to make the call and then inspect the response to decide whether the system is up or down ``` {"id":"20161024140306","version":"5.6.1","status":"UP"} ``` This would be the `json` that is returned This is the ansible task that makes a call: ``` - name: check sonar web is up uri: url: http://sonarhost:9000/sonar/api/system/status method: GET return_content: yes status_code: 200 body_format: json register: data ``` Question is how can I access `data` and inspect it as per ansible documentation this is how we store results of a call. I am not sure of the final step which is to check the status.