From 4624f5c80d43c76d1b658c4852507b26a2c1a30d Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 28 Jul 2023 15:08:22 +0930 Subject: [PATCH] feat(api): search for item_id by name !1 --- tasks/api/search/item_id.yaml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tasks/api/search/item_id.yaml diff --git a/tasks/api/search/item_id.yaml b/tasks/api/search/item_id.yaml new file mode 100644 index 0000000..846bf4b --- /dev/null +++ b/tasks/api/search/item_id.yaml @@ -0,0 +1,31 @@ +--- +- name: Find Item ID + ansible.builtin.uri: + url: "http://{{ glpi.host }}/apirest.php/{{ item.api_path }}?searchText[name]={{ item.body.name | urlencode }}" + method: "GET" + return_content: true + body: '' + # status_code: "{{ item.status_code | from_yaml | list }}" + status_code: [200, 201] + headers: + App-Token: "{{ glpi.app_token }}" + Session-Token: "{{ glpi.session.valid_id }}" + body_format: json + register: glpi_search + no_log: true + + +- name: Set id + ansible.builtin.set_fact: + new_data: + id: "{{ glpi_search.json[0].id | int }}" + when: glpi_search.json | length | int == 1 + + +- name: Append id + ansible.builtin.set_fact: + item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" + glpi_search: {} + new_data: {} + no_log: true + when: glpi_search.json | length | int == 1