From d637f915c5de32fdd854b9f72f3c1a6eb5ca1d04 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 30 Jul 2023 12:59:52 +0930 Subject: [PATCH] refactor(api_config): iterate over results changed to iterate over results as the api search is not exact, it's contains. now workflow iterates over results and on name match, exact; Adds the item id. !1 --- tasks/api/search/entities_id.yaml | 32 ++++++++++++++--- tasks/api/search/groups_id.yaml | 33 +++++++++++++---- tasks/api/search/item_id.yaml | 8 ++--- tasks/api/search/itilcategories_id.yaml | 32 ++++++++++++++--- tasks/api/search/tickettemplates_id.yaml | 35 +++++++++++++++---- .../api/search/tickettemplates_id_demand.yaml | 32 ++++++++++++++--- tasks/api/search/users_id.yaml | 32 ++++++++++++++--- 7 files changed, 165 insertions(+), 39 deletions(-) diff --git a/tasks/api/search/entities_id.yaml b/tasks/api/search/entities_id.yaml index af3e485..c0de592 100644 --- a/tasks/api/search/entities_id.yaml +++ b/tasks/api/search/entities_id.yaml @@ -15,17 +15,39 @@ no_log: true +- name: Iterate over results for ID search + ansible.builtin.shell: + cmd: | + cat < + glpi_search.json | length | int > 0 + + - name: Set entities_id ansible.builtin.set_fact: - new_data: - entities_id: "{{ glpi_search.json[0].id | int }}" - when: glpi_search.json | length | int == 1 + new_data: "{{ itarate_id.stdout | from_yaml }}" + when: itarate_id.stdout | default({}) | length | int > 0 - name: Append entities_id ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} new_data: {} no_log: true - when: glpi_search.json | length | int == 1 diff --git a/tasks/api/search/groups_id.yaml b/tasks/api/search/groups_id.yaml index 545cd74..51bbcfe 100644 --- a/tasks/api/search/groups_id.yaml +++ b/tasks/api/search/groups_id.yaml @@ -15,18 +15,39 @@ no_log: true +- name: Iterate over results for ID search + ansible.builtin.shell: + cmd: | + cat < + glpi_search.json | length | int > 0 + + - name: Set groups_id ansible.builtin.set_fact: - new_data: - groups_id: "{{ glpi_search.json[0].id | int }}" - when: glpi_search.json | length | int == 1 + new_data: "{{ itarate_id.stdout | from_yaml }}" + when: itarate_id.stdout | default({}) | length | int > 0 - name: Append groups (have item_body) ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} new_data: {} no_log: true - when: glpi_search.json | length | int == 1 - diff --git a/tasks/api/search/item_id.yaml b/tasks/api/search/item_id.yaml index b2543dd..10fe58b 100644 --- a/tasks/api/search/item_id.yaml +++ b/tasks/api/search/item_id.yaml @@ -112,14 +112,10 @@ when: itarate_id.stdout is defined -- name: Append id - ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" - no_log: true - when: new_data | default({}) | length | int > 0 - - name: Item_id fact Cleanup ansible.builtin.set_fact: + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} new_data: {} no_log: true diff --git a/tasks/api/search/itilcategories_id.yaml b/tasks/api/search/itilcategories_id.yaml index abbd9cb..6fdb33a 100644 --- a/tasks/api/search/itilcategories_id.yaml +++ b/tasks/api/search/itilcategories_id.yaml @@ -15,17 +15,39 @@ no_log: true +- name: Iterate over results for ID search + ansible.builtin.shell: + cmd: | + cat < + glpi_search.json | length | int > 0 + + - name: Set itilcategories_id ansible.builtin.set_fact: - new_data: - itilcategories_id: "{{ glpi_search.json[0].id | int }}" - when: glpi_search.json | length | int == 1 + new_data: "{{ itarate_id.stdout | from_yaml }}" + when: itarate_id.stdout | default({}) | length | int > 0 - name: Append itilcategories_id ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} new_data: {} no_log: true - when: item.itilcategories_id is defined diff --git a/tasks/api/search/tickettemplates_id.yaml b/tasks/api/search/tickettemplates_id.yaml index 8901d89..f296703 100644 --- a/tasks/api/search/tickettemplates_id.yaml +++ b/tasks/api/search/tickettemplates_id.yaml @@ -14,18 +14,39 @@ no_log: true +- name: Iterate over results for ID search + ansible.builtin.shell: + cmd: | + cat < + glpi_search.json | length | int > 0 + + - name: Set tickettemplates_id ansible.builtin.set_fact: - new_data: - tickettemplates_id: "{{ glpi_search.json[0].id | int }}" - when: glpi_search.json | length | int == 1 + new_data: "{{ itarate_id.stdout | from_yaml }}" + when: itarate_id.stdout | default({}) | length | int > 0 - name: Append tickettemplates_id ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" - new_data: {} - tickettemplates_id: "{{ glpi_search.json[0].id | int }}" + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} + new_data: {} no_log: true - when: glpi_search.json | length | int == 1 diff --git a/tasks/api/search/tickettemplates_id_demand.yaml b/tasks/api/search/tickettemplates_id_demand.yaml index 5453874..396662f 100644 --- a/tasks/api/search/tickettemplates_id_demand.yaml +++ b/tasks/api/search/tickettemplates_id_demand.yaml @@ -15,17 +15,39 @@ no_log: true +- name: Iterate over results for ID search + ansible.builtin.shell: + cmd: | + cat < + glpi_search.json | length | int > 0 + + - name: Set tickettemplates_id_demand ansible.builtin.set_fact: - new_data: - tickettemplates_id_demand: "{{ glpi_search.json[0].id | int }}" - when: glpi_search.json | length | int == 1 + new_data: "{{ itarate_id.stdout | from_yaml }}" + when: itarate_id.stdout | default({}) | length | int > 0 - name: Append tickettemplates_id_demand ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} new_data: {} no_log: true - when: glpi_search.json | length | int == 1 diff --git a/tasks/api/search/users_id.yaml b/tasks/api/search/users_id.yaml index 07e1afb..68f653d 100644 --- a/tasks/api/search/users_id.yaml +++ b/tasks/api/search/users_id.yaml @@ -16,17 +16,39 @@ no_log: true +- name: Iterate over results for ID search + ansible.builtin.shell: + cmd: | + cat < + glpi_search.json | length | int > 0 + + - name: Set users_id ansible.builtin.set_fact: - new_data: - users_id: "{{ glpi_search.json[0].id | int }}" - when: glpi_search.json | length | int == 1 + new_data: "{{ itarate_id.stdout | from_yaml }}" + when: itarate_id.stdout | default({}) | length | int > 0 - name: Append users_id (have item_body) ansible.builtin.set_fact: - item_body: "{{ item_body | ansible.builtin.combine(new_data) }}" + item_body: "{{ item_body | ansible.builtin.combine(new_data | default({})) }}" glpi_search: {} + itarate_id: {} new_data: {} no_log: true - when: glpi_search.json | length | int == 1