community.general.gitlab_project_variable – Creates/updates/deletes GitLab Projects Variables
community.general.gitlab_project_variable – Creates/updates/deletes GitLab Projects Variables
Note
This plugin is part of the community.general collection (version 1.3.2).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.gitlab_project_variable
.
Synopsis
- When a project variable does not exist, it will be created.
- When a project variable does exist, its value will be updated when the values are different.
- Variables which are untouched in the playbook, but are not untouched in the GitLab project, they stay untouched (purge is
false
) or will be deleted (purge istrue
).
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 / required |
GitLab access token with API permissions. | |
api_url string |
The resolvable endpoint for the API | |
api_username string |
The username to use for authentication against the API | |
project string / required |
The path and name of the project. | |
purge boolean |
|
When set to true, all variables which are not untouched in the task will be deleted. |
state string |
|
Create or delete project variable. Possible values are present and absent. |
validate_certs boolean |
|
Whether or not to validate SSL certs when supplying a https endpoint. |
vars dictionary |
Default: {} |
When the list element is a simple key-value pair, masked and protected will be set to false. When the list element is a dict with the keys value, masked and protected, the user can have full control about whether a value should be masked, protected or both. Support for protected values requires GitLab >= 9.3. Support for masked values requires GitLab >= 11.10. A value must be a string or a number. Field variable_type must be a string with either When a value is masked, it must be in Base64 and have a length of at least 8 characters. See GitLab documentation on acceptable values for a masked variable (https://docs.gitlab.com/ce/ci/variables/#masked-variables). |
Examples
- name: Set or update some CI/CD variables
community.general.gitlab_project_variable:
api_url: https://gitlab.com
api_token: secret_access_token
project: markuman/dotfiles
purge: false
vars:
ACCESS_KEY_ID: abc123
SECRET_ACCESS_KEY: 321cba
- name: Set or update some CI/CD variables
community.general.gitlab_project_variable:
api_url: https://gitlab.com
api_token: secret_access_token
project: markuman/dotfiles
purge: false
vars:
ACCESS_KEY_ID: abc123
SECRET_ACCESS_KEY:
value: 3214cbad
masked: true
protected: true
variable_type: env_var
- name: Delete one variable
community.general.gitlab_project_variable:
api_url: https://gitlab.com
api_token: secret_access_token
project: markuman/dotfiles
state: absent
vars:
ACCESS_KEY_ID: abc123
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
project_variable dictionary |
always |
Four lists of the variablenames which were added, updated, removed or exist.
| |
added list / elements=string |
always |
A list of variables which were created.
Sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY'] | |
removed list / elements=string |
always |
A list of variables which were deleted.
Sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY'] | |
untouched list / elements=string |
always |
A list of variables which exist.
Sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY'] | |
updated list / elements=string |
always |
A list of variables whose values were changed.
Sample: ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY'] |
Authors
- Markus Bergholz (@markuman)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/gitlab_project_variable_module.html