community.general.gitlab_project_members module – Manage project members on GitLab Server
Note
This module is part of the community.general collection (version 4.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.gitlab_project_members
.
New in version 2.2.0: of community.general
Synopsis
This module allows to add and remove members to/from a project, or change a member’s access level in a project on GitLab.
Requirements
The below requirements are needed on the host that executes this module.
owner or maintainer rights to project on the GitLab server
python-gitlab python module <= 1.15.0
requests (Python library https://pypi.org/project/requests/)
Parameters
Parameter |
Comments |
---|---|
The access level for the user. Required if state=present, user state is set to present. Choices:
|
|
GitLab CI job token for logging in. |
|
GitLab OAuth token for logging in. |
|
The password to use for authentication against the API |
|
GitLab access token with API permissions. |
|
The resolvable endpoint for the API |
|
The username to use for authentication against the API |
|
A username or a list of usernames to add to/remove from the GitLab project. Mutually exclusive with gitlab_users_access. |
|
Provide a list of user to access level mappings. Every dictionary in this list specifies a user (by username) and the access level the user should have. Mutually exclusive with gitlab_user and access_level. Use together with purge_users to remove all users not specified here from the project. |
|
The access level for the user. Required if state=present, user state is set to present. Choices:
|
|
A username or a list of usernames to add to/remove from the GitLab project. |
|
The name (or full path) of the GitLab project the member is added to/removed from. |
|
Adds/remove users of the given access_level to match the given gitlab_user/gitlab_users_access list. If omitted do not purge orphaned members. Is only used when state=present. Choices:
|
|
State of the member in the project. On On Choices:
|
|
Whether or not to validate SSL certs when supplying a https endpoint. Choices:
|
Examples
- name: Add a user to a GitLab Project
community.general.gitlab_project_members:
api_url: 'https://gitlab.example.com'
api_token: 'Your-Private-Token'
validate_certs: True
project: projectname
gitlab_user: username
access_level: developer
state: present
- name: Remove a user from a GitLab project
community.general.gitlab_project_members:
api_url: 'https://gitlab.example.com'
api_token: 'Your-Private-Token'
validate_certs: False
project: projectname
gitlab_user: username
state: absent
- name: Add a list of Users to A GitLab project
community.general.gitlab_project_members:
api_url: 'https://gitlab.example.com'
api_token: 'Your-Private-Token'
gitlab_project: projectname
gitlab_user:
- user1
- user2
access_level: developer
state: present
- name: Add a list of Users with Dedicated Access Levels to A GitLab project
community.general.gitlab_project_members:
api_url: 'https://gitlab.example.com'
api_token: 'Your-Private-Token'
project: projectname
gitlab_users_access:
- name: user1
access_level: developer
- name: user2
access_level: maintainer
state: present
- name: Add a user, remove all others which might be on this access level
community.general.gitlab_project_members:
api_url: 'https://gitlab.example.com'
api_token: 'Your-Private-Token'
project: projectname
gitlab_user: username
access_level: developer
pruge_users: developer
state: present
- name: Remove a list of Users with Dedicated Access Levels to A GitLab project
community.general.gitlab_project_members:
api_url: 'https://gitlab.example.com'
api_token: 'Your-Private-Token'
project: projectname
gitlab_users_access:
- name: user1
access_level: developer
- name: user2
access_level: maintainer
state: absent
Authors
Sergey Mikhaltsov (@metanovii)
Zainab Alsaffar (@zanssa)
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication