--- # This playbook is meant to be used with callable variables, like adhoc or AWX. # What: Creates a project in gitlab. Use this to create a project that may not # exist. YOU MUST HAVE A GROUP THAT IT CAN BE PLACED IN. # What is expected: # -> gitlab_api_token: You must provide an API token to perform this. # -> gitlab_project_name: Name of the project # -> gitlab_group_name: Id or Path to the group in which the project is # is placed. This is not optional. # -> gitlab_description: Description of your project # -> gitlab_import_url: If you are importing from github or another git repo, # put the URL here. # -> gitlab_visibility: public, internal, private. Default is private. - name: Create a gitlab project hosts: localhost become: false gather_facts: false vars: gitlab_endpoint: "https://git.rockylinux.org/" tasks: - name: "Checking for user variables" assert: that: - gitlab_api_token | mandatory - gitlab_project_name | mandatory - gitlab_group_name | mandatory success_msg: "Required variables provided" fail_msg: "We are missing our required variables" - name: "Creating GitLab Project" community.general.gitlab_project: api_url: "{{ gitlab_endpoint }}" api_token: "{{ gitlab_api_token }}" name: "{{ gitlab_project_name }}" description: "{{ gitlab_description|default(omit) }}" group: "{{ gitlab_group_name }}" import_url: "{{ gitlab_import_url|default(omit) }}" state: present validate_certs: true visibility: "{{ gitlab_visibility|default('private') }}" delegate_to: localhost