# 1) Create page XWiki. (PUT is idempotent) - name: "XWIKI | Ensure user page exists: XWiki.{{ XWIKI_ADMIN_USER }}" uri: url: "{{ [XWIKI_REST_XWIKI_PAGES, XWIKI_ADMIN_USER | urlencode] | url_join }}" method: PUT user: "{{ XWIKI_SUPERADMIN_USERNAME }}" password: "{{ XWIKI_SUPERADMIN_PASSWORD }}" force_basic_auth: true status_code: [201, 202, 204, 200] headers: Content-Type: "application/xml" Accept: "application/xml" body: | {{ XWIKI_ADMIN_USER }} register: _user_page # 2) Add XWiki.XWikiUsers object (only if it does not already exist) - name: "XWIKI | Check if XWikiUsers object exists" uri: url: "{{ [XWIKI_REST_XWIKI_PAGES, XWIKI_ADMIN_USER | urlencode, 'objects'] | url_join }}?classname=XWiki.XWikiUsers" method: GET user: "{{ XWIKI_SUPERADMIN_USERNAME }}" password: "{{ XWIKI_SUPERADMIN_PASSWORD }}" force_basic_auth: true status_code: [200, 404] register: _users_obj_list - name: "XWIKI | Add XWiki.XWikiUsers object" uri: url: "{{ [XWIKI_REST_XWIKI_PAGES, XWIKI_ADMIN_USER | urlencode, 'objects'] | url_join }}" method: POST user: "{{ XWIKI_SUPERADMIN_USERNAME }}" password: "{{ XWIKI_SUPERADMIN_PASSWORD }}" force_basic_auth: true status_code: [201, 200] headers: Content-Type: "application/xml" Accept: "application/xml" body: | XWiki.XWikiUsers {{ users.administrator.firstname | default('Admin') }} {{ users.administrator.lastname | default('User') }} {{ users.administrator.email }} 1 when: _users_obj_list.status == 404 or (' XWiki.XWikiGroups XWiki.{{ XWIKI_ADMIN_USER }} when: XWIKI_LDAP_ENABLED | bool == false and XWIKI_OIDC_ENABLED | bool == false