---
# PUT a temporary Groovy page that checks installed extensions, call it, then delete it.
- name: "β¬οΈ XWIKI | Fetch REST session + form token (extension check write ops)"
include_tasks: utils/rest_session.yml
- name: "β¬οΈ XWIKI | PUT checker page XWiki.CheckExtension"
uri_retry:
url: "{{ [XWIKI_REST_XWIKI_PAGES, 'CheckExtension'] | url_join }}"
method: PUT
url_username: "{{ XWIKI_SUPERADMIN_USERNAME }}"
url_password: "{{ XWIKI_SUPERADMIN_PASSWORD }}"
force_basic_auth: true
status_code: [200, 201, 202, 204]
headers: "{{ xwiki_rest_headers_write }}"
body: "{{ lookup('file', 'xml/check_extension_page.xml') }}"
register: _put_checker
changed_when: false
- name: "π XWIKI | Check installed via Groovy for {{ ext_id }}"
uri_retry:
url: "{{ XWIKI_DOCKER_REACH_URL }}/bin/view/XWiki/CheckExtension?xpage=plain&id={{ ext_id | urlencode }}"
method: GET
url_username: "{{ XWIKI_SUPERADMIN_USERNAME }}"
url_password: "{{ XWIKI_SUPERADMIN_PASSWORD }}"
force_basic_auth: true
status_code: [200]
return_content: true
register: _check_output
changed_when: false
- name: "πΎ XWIKI | Save Groovy check result for {{ ext_id }}"
set_fact:
"{{ result_var }}":
status: "{{ _check_output.content | xwiki_extension_status(ext_version) }}"
raw: "{{ _check_output.content }}"
- name: "ποΈ XWIKI | Delete checker page"
uri_retry:
url: "{{ [XWIKI_REST_XWIKI_PAGES, 'CheckExtension'] | url_join }}"
method: DELETE
url_username: "{{ XWIKI_SUPERADMIN_USERNAME }}"
url_password: "{{ XWIKI_SUPERADMIN_PASSWORD }}"
force_basic_auth: true
status_code: [204, 200, 202, 404]
headers: "{{ xwiki_rest_headers_write }}"
register: _delete_checker
changed_when: _delete_checker.status != 404