- Docs »
- gitlab_project – Creates/updates/deletes GitLab Projects
-
gitlab_project – Creates/updates/deletes GitLab Projects
When the project does not exist in GitLab, it will be created.
When the project does exists and state=absent, the project will be deleted.
When changes are made to the project, the project will be updated.
The below requirements are needed on the host that executes this module.
Parameter |
Choices/Defaults |
Comments |
api_password
string
|
|
The password to use for authentication against the API
|
api_token
string
|
|
GitLab token for logging in.
aliases: login_token
|
api_url
string
|
|
The resolvable endpoint for the API
|
api_username
string
|
|
The username to use for authentication against the API
|
description
string
|
|
An description for the project.
|
group
string
|
|
Id or The full path of the group of which this projects belongs to.
|
import_url
string
|
|
Git repository which will be imported into gitlab.
GitLab server needs read access to this git repository.
|
issues_enabled
boolean
|
|
Whether you want to create issues or not.
Possible values are true and false.
|
login_password
string
|
|
GitLab password for login_user
|
login_user
string
|
|
GitLab user name.
|
merge_requests_enabled
boolean
|
|
If merge requests can be made or not.
Possible values are true and false.
|
name
string
/ required
|
|
The name of the project
|
path
string
|
|
The path of the project you want to create, this will be server_url/<group>/path
If not supplied, name will be used.
|
server_url
string
|
|
The URL of the GitLab server, with protocol (i.e. http or https).
|
snippets_enabled
boolean
|
|
If creating snippets should be available or not.
Possible values are true and false.
|
state
string
|
Choices:
present ←
- absent
|
create or delete project.
Possible values are present and absent.
|
validate_certs
boolean
|
|
Whether or not to validate SSL certs when supplying a https endpoint.
|
visibility
string
|
Choices:
private ←
- internal
- public
|
Private. Project access must be granted explicitly for each user.
Internal. The project can be cloned by any logged in user.
Public. The project can be cloned without any authentication.
aliases: visibility_level
|
wiki_enabled
boolean
|
|
If an wiki for this project should be available or not.
Possible values are true and false.
|
- name: Delete GitLab Project
gitlab_project:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
validate_certs: False
name: my_first_project
state: absent
delegate_to: localhost
- name: Create GitLab Project in group Ansible
gitlab_project:
api_url: https://gitlab.example.com/
validate_certs: True
api_username: dj-wasabi
api_password: "MySecretPassword"
name: my_first_project
group: ansible
issues_enabled: False
wiki_enabled: True
snippets_enabled: True
import_url: http://git.example.com/example/lab.git
state: present
delegate_to: localhost
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
error
string
|
failed |
the error message returned by the GitLab API
Sample:
400: path is already in use
|
msg
string
|
always |
Success or failure message
Sample:
Success
|
project
dictionary
|
always |
API object
|
result
dictionary
|
always |
json parsed response from the server
|
Authors
Hint
If you notice any issues in this documentation, you can edit this document to improve it.