- name: Install required libs pip: name: python-gitlab state: present - name: Create {{ gitlab_project_name }} gitlab_project: server_url: "{{ gitlab_host }}" validate_certs: False login_token: "{{ gitlab_login_token }}" name: "{{ gitlab_project_name }}" state: present - name: Cleanup Gitlab hook gitlab_hooks: server_url: "{{ gitlab_host }}" validate_certs: false login_token: "{{ gitlab_login_token }}" hook_url: "{{ gitlab_hook_url }}" project: "{{ gitlab_project_name }}" state: absent - name: Create Gitlab Hook gitlab_hooks: server_url: "{{ gitlab_host }}" validate_certs: false login_token: "{{ gitlab_login_token }}" hook_url: "{{ gitlab_hook_url }}" project: "{{ gitlab_project_name }}" state: present register: gitlab_hook_state - name: Test group created assert: that: - gitlab_hook_state is changed - name: Create Gitlab Hook ( Idempotency test ) gitlab_hooks: server_url: "{{ gitlab_host }}" validate_certs: false login_token: "{{ gitlab_login_token }}" hook_url: "{{ gitlab_hook_url }}" project: "{{ gitlab_project_name }}" state: present register: gitlab_hook_state_again - name: Test module is idempotent assert: that: - gitlab_hook_state_again is not changed - name: Remove Gitlab hook gitlab_hooks: server_url: "{{ gitlab_host }}" validate_certs: false login_token: "{{ gitlab_login_token }}" hook_url: "{{ gitlab_hook_url }}" project: "{{ gitlab_project_name }}" state: absent register: gitlab_hook_state_absent - name: Assert hook has been removed assert: that: - gitlab_hook_state_absent is changed