CI/CD Variables¶
You can configure variables at the instance-level (admin only), or associate variables to projects and groups, to modify pipeline/job scripts behavior.
Warning
Please always follow GitLab’s rules for CI/CD variables, especially for values in masked variables. If you do not, your variables may silently fail to save.
Instance-level variables¶
This endpoint requires admin access.
Reference¶
Examples¶
List all instance variables:
variables = gl.variables.list()
Get an instance variable by key:
variable = gl.variables.get('key_name')
Create an instance variable:
variable = gl.variables.create({'key': 'key1', 'value': 'value1'})
Update a variable value:
variable.value = 'new_value'
variable.save()
Remove a variable:
gl.variables.delete('key_name')
# or
variable.delete()
Projects and groups variables¶
Reference¶
v4 API
GitLab API
Examples¶
List variables:
p_variables = project.variables.list()
g_variables = group.variables.list()
Get a variable:
p_var = project.variables.get('key_name')
g_var = group.variables.get('key_name')
Note
If there are multiple variables with the same key, use filter
to select
the correct environment_scope
. See the GitLab API docs for more
information.
Create a variable:
var = project.variables.create({'key': 'key1', 'value': 'value1'})
var = group.variables.create({'key': 'key1', 'value': 'value1'})
Note
If a variable with the same key already exists, the new variable must have a
different environment_scope
. Otherwise, GitLab returns a message similar
to: VARIABLE_NAME has already been taken
. See the GitLab API docs for
more information.
Update a variable value:
var.value = 'new_value'
var.save()
# or
project.variables.update("key1", {"value": "new_value"})
Note
If there are multiple variables with the same key, use filter
to select
the correct environment_scope
. See the GitLab API docs for more
information.
Remove a variable:
project.variables.delete('key_name')
group.variables.delete('key_name')
# or
var.delete()
Note
If there are multiple variables with the same key, use filter
to select
the correct environment_scope
. See the GitLab API docs for more
information.