community.general.gitlab_project – Creates/updates/deletes GitLab Projects
community.general.gitlab_project – Creates/updates/deletes GitLab Projects
Note
This plugin is part of the community.general collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.gitlab_project
.
Synopsis
- 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.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.7
- python-gitlab python module
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
api_password string |
The password to use for authentication against the API | |
api_token string |
GitLab token for logging in. | |
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. |
lfs_enabled boolean added in 2.0.0 of community.general |
|
Enable Git large file systems to manages large files such as audio, video, and graphics files. |
merge_method string added in 1.0.0 of community.general |
|
What requirements are placed upon merges. Possible values are |
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//path. If not supplied, name will be used. | |
snippets_enabled boolean |
|
If creating snippets should be available or not. |
state string |
|
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 |
|
|
wiki_enabled boolean |
|
If an wiki for this project should be available or not. |
Examples
- name: Create GitLab Project
community.general.gitlab_project:
api_url: https://gitlab.example.com/
api_token: "{{ api_token }}"
name: my_first_project
group: "10481470"
- name: Delete GitLab Project
community.general.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
community.general.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
merge_method: rebase_merge
wiki_enabled: True
snippets_enabled: True
import_url: http://git.example.com/example/lab.git
state: present
delegate_to: localhost
Return Values
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
- Werner Dijkerman (@dj-wasabi)
- Guillaume Martinez (@Lunik)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/gitlab_project_module.html