--- # Ensure an admin user exists (when SSO is disabled) and can administer XWiki. - name: "⬇️ XWIKI | Fetch REST session + form token (admin write ops)" include_tasks: utils/rest_session.yml - name: "✅ XWIKI | Ensure user page exists: XWiki.{{ XWIKI_ADMIN_USER }}" uri_retry: url: "{{ [XWIKI_REST_XWIKI_PAGES, XWIKI_ADMIN_USER | urlencode] | url_join }}" method: PUT url_username: "{{ XWIKI_SUPERADMIN_USERNAME }}" url_password: "{{ XWIKI_SUPERADMIN_PASSWORD }}" force_basic_auth: true status_code: [201, 202, 204, 200] headers: "{{ xwiki_rest_headers_write }}" body: "{{ lookup('template', 'xml/user/page.xml.j2') }}" register: _user_page - name: "🔎 XWIKI | Check if XWikiUsers object exists" uri_retry: url: "{{ [XWIKI_REST_XWIKI_PAGES, XWIKI_ADMIN_USER | urlencode, 'objects'] | url_join }}?classname=XWiki.XWikiUsers" method: GET url_username: "{{ XWIKI_SUPERADMIN_USERNAME }}" url_password: "{{ XWIKI_SUPERADMIN_PASSWORD }}" force_basic_auth: true status_code: [200, 404] register: _users_obj_list - name: "➕ XWIKI | Add XWiki.XWikiUsers object" uri_retry: url: "{{ [XWIKI_REST_XWIKI_PAGES, XWIKI_ADMIN_USER | urlencode, 'objects'] | url_join }}" method: POST url_username: "{{ XWIKI_SUPERADMIN_USERNAME }}" url_password: "{{ XWIKI_SUPERADMIN_PASSWORD }}" force_basic_auth: true status_code: [201, 200] headers: "{{ xwiki_rest_headers_write }}" body: "{{ lookup('template', 'xml/user/xwikiusers_object.xml.j2') }}" when: _users_obj_list.status == 404 or ('