summaryrefslogtreecommitdiff
path: root/docs/gl_objects/groups.rst
blob: b2c0ed86509856a89b3a6b9fd6c7160773c9aeb5 (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
111
######
Groups
######

Groups
======

Use :class:`~gitlab.objects.Group` objects to manipulate groups. The
:attr:`gitlab.Gitlab.groups` manager object provides helper functions.

Examples
--------

List the groups:

.. literalinclude:: groups.py
   :start-after: # list
   :end-before: # end list

Search groups:

.. literalinclude:: groups.py
   :start-after: # search
   :end-before: # end search

Get a group's detail:

.. literalinclude:: groups.py
   :start-after: # get
   :end-before: # end get

List a group's projects:

.. literalinclude:: groups.py
   :start-after: # projects list
   :end-before: # end projects list

You can filter and sort the result using the following parameters:

* ``archived``: limit by archived status
* ``visibility``: limit by visibility. Allowed values are ``public``,
  ``internal`` and ``private``
* ``search``: limit to groups matching the given value
* ``order_by``: sort by criteria. Allowed values are ``id``, ``name``, ``path``,
  ``created_at``, ``updated_at`` and ``last_activity_at``
* ``sort``: sort order: ``asc`` or ``desc``
* ``ci_enabled_first``: return CI enabled groups first

Create a group:

.. literalinclude:: groups.py
   :start-after: # create
   :end-before: # end create

Update a group:

.. literalinclude:: groups.py
   :start-after: # update
   :end-before: # end update

Remove a group:

.. literalinclude:: groups.py
   :start-after: # delete
   :end-before: # end delete

Group members
=============

Use :class:`~gitlab.objects.GroupMember` objects to manipulate groups. The
:attr:`gitlab.Gitlab.group_members` and :attr:`Group.members
<gitlab.objects.Group.members>` manager objects provide helper functions.

The following :class:`~gitlab.objects.Group` attributes define the supported
access levels:

* ``GUEST_ACCESS = 10``
* ``REPORTER_ACCESS = 20``
* ``DEVELOPER_ACCESS = 30``
* ``MASTER_ACCESS = 40``
* ``OWNER_ACCESS = 50``

List group members:

.. literalinclude:: groups.py
   :start-after: # member list
   :end-before: # end member list

Get a group member:

.. literalinclude:: groups.py
   :start-after: # member get
   :end-before: # end member get

Add a member to the group:

.. literalinclude:: groups.py
   :start-after: # member create
   :end-before: # end member create

Update a member (change the access level):

.. literalinclude:: groups.py
   :start-after: # member update
   :end-before: # end member update

Remove a member from the group:

.. literalinclude:: groups.py
   :start-after: # member delete
   :end-before: # end member delete