- hosts: localhost vars: gitea_url: http://38.108.68.66 tasks: - name: Get Gerrit project list uri: url: "https://review.openstack.org/projects/" status_code: 200 return_content: true register: gerrit_project_list - name: Parse Gerrit project list set_fact: gerrit_projects: "{{ gerrit_project_list.content[4:] | from_json }}" - name: Parse Gerrit org list set_fact: gerrit_orgs: "{{ gerrit_projects.keys() | map('regex_search', '^(.*?)/') | list | unique | select | map('regex_replace', '/', '') | list }}" - name: debug debug: msg: "{{ gerrit_orgs }}" - name: Get Gitea org list # We assume that all the orgs we are interested in are owned by root uri: url: "{{ gitea_url }}/api/v1/user/orgs" user: root password: "{{ gitea_root_password }}" force_basic_auth: true status_code: 200 register: gitea_org_list - name: Parse Gitea org list set_fact: gitea_orgs: "{{ gitea_org_list.json | map(attribute='username') | list }}" - name: Create orgs loop: "{{ gerrit_orgs }}" loop_control: loop_var: org include_tasks: 'setup-org.yaml'