I’m having an issue adding an element to an array. What i need to do is…
- get an array list of IDs from an api using the uri module (no issues here)
- add an element to this array (issue here!)
- send a PUT with the updated array using uri (no issues here)
====tasks start====
-
name: get data from endpoint 1
uri: url=https://someapi.com/endpoint1.json method=GET HEADER_api_key=“xxxxxxxxxxxx”
register: reg_endpoint1 -
name: get data from endpoint 2
uri: url=https://someapi.com/endpoint2.json method=GET HEADER_api_key=“xxxxxxxxxxxx”
register: reg_endpoint2 -
name: make an array element from id from endpoint 1, then add this to endpoint 2 array, save as updated_array
set_fact: updated_array=“{{ reg_endpoint2.json.array_with_many_elements }} + [ {{ reg_endpoint1.json.id_list[0].id }} ]” -
name: put data with updated_array
uri:
method=PUT
url=https://someapi.com/endpoint3.json
HEADER_api_key=“xxxxxxxxxxxx”
HEADER_Content-Type=“application/json”
body={{ lookup(‘template’,‘/full/path/to/file.json.j2’) }}
====tasks end====
====/full/path/to/file.json.j2====
‘{
“something1”: {
“otherthing2”: {
“thatotherthing3”: {{ updated_array }}
}
}
}’