# 1) Create page XWiki. (PUT is idempotent) - name: "XWIKI | Ensure user page exists: XWiki.{{ XWIKI_ADMIN_USER }}" uri: url: "{{ XWIKI_REST_BASE }}wikis/xwiki/spaces/XWiki/pages/{{ XWIKI_ADMIN_USER | urlencode }}" 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_BASE }}wikis/xwiki/spaces/XWiki/pages/{{ XWIKI_ADMIN_USER | urlencode }}/objects?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_BASE }}wikis/xwiki/spaces/XWiki/pages/{{ XWIKI_ADMIN_USER | urlencode }}/objects" 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