blob: cbb5c8a5f70d847faf66e2855b3d550ed66a3d33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
###############
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.
.. _rules for CI/CD variables: https://docs.gitlab.com/ee/ci/variables/#add-a-cicd-variable-to-a-project
Instance-level variables
========================
This endpoint requires admin access.
Reference
---------
* v4 API
+ :class:`gitlab.v4.objects.Variable`
+ :class:`gitlab.v4.objects.VariableManager`
+ :attr:`gitlab.Gitlab.variables`
* GitLab API
+ https://docs.gitlab.com/ce/api/instance_level_ci_variables.html
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
+ :class:`gitlab.v4.objects.ProjectVariable`
+ :class:`gitlab.v4.objects.ProjectVariableManager`
+ :attr:`gitlab.v4.objects.Project.variables`
+ :class:`gitlab.v4.objects.GroupVariable`
+ :class:`gitlab.v4.objects.GroupVariableManager`
+ :attr:`gitlab.v4.objects.Group.variables`
* GitLab API
+ https://docs.gitlab.com/ce/api/instance_level_ci_variables.html
+ https://docs.gitlab.com/ce/api/project_level_variables.html
+ https://docs.gitlab.com/ce/api/group_level_variables.html
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')
Create a variable::
var = project.variables.create({'key': 'key1', 'value': 'value1'})
var = group.variables.create({'key': 'key1', 'value': 'value1'})
Update a variable value::
var.value = 'new_value'
var.save()
# or
project.variables.update("key1", {"value": "new_value"})
Remove a variable::
project.variables.delete('key_name')
group.variables.delete('key_name')
# or
var.delete()
|