summaryrefslogtreecommitdiff
path: root/docs/gl_objects/access_requests.rst
blob: 467c3e5ffeb0ccc2bc3f415b536b87183ed18931 (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
###############
Access requests
###############

Users can request access to groups and projects.

When access is granted the user should be given a numerical access level. The
following constants are provided to represent the access levels:

* ``gitlab.GUEST_ACCESS``: ``10``
* ``gitlab.REPORTER_ACCESS``: ``20``
* ``gitlab.DEVELOPER_ACCESS``: ``30``
* ``gitlab.MAINTAINER_ACCESS``: ``40``
* ``gitlab.OWNER_ACCESS``: ``50``

References
----------

* v4 API:

  + :class:`gitlab.v4.objects.ProjectAccessRequest`
  + :class:`gitlab.v4.objects.ProjectAccessRequestManager`
  + :attr:`gitlab.v4.objects.Project.accessrequests`
  + :class:`gitlab.v4.objects.GroupAccessRequest`
  + :class:`gitlab.v4.objects.GroupAccessRequestManager`
  + :attr:`gitlab.v4.objects.Group.accessrequests`

* GitLab API: https://docs.gitlab.com/ce/api/access_requests.html

Examples
--------

List access requests from projects and groups::

    p_ars = project.accessrequests.list()
    g_ars = group.accessrequests.list()

Create an access request::

    p_ar = project.accessrequests.create()
    g_ar = group.accessrequests.create()

Approve an access request::

    ar.approve()  # defaults to DEVELOPER level
    ar.approve(access_level=gitlab.MAINTAINER_ACCESS)  # explicitly set access level

Deny (delete) an access request::

    project.accessrequests.delete(user_id)
    group.accessrequests.delete(user_id)
    # or
    ar.delete()