Use :class:`~gitlab.objects.Group` objects to manipulate groups. The :attr:`gitlab.Gitlab.groups` manager object provides helper functions.
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 statusvisibility: limit by visibility. Allowed values arepublic,internalandprivatesearch: limit to groups matching the given valueorder_by: sort by criteria. Allowed values areid,name,path,created_at,updated_atandlast_activity_atsort: sort order:ascordescci_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
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 = 10REPORTER_ACCESS = 20DEVELOPER_ACCESS = 30MASTER_ACCESS = 40OWNER_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