groups.md 2.19 KB
Newer Older
Marin Jankovski's avatar
Marin Jankovski committed
1 2
# Groups

3 4 5 6 7 8 9 10 11 12
## List project groups

Get a list of groups. (As user: my groups, as admin: all groups)

```
GET /groups
```

```json
[
13 14 15 16 17 18
  {
    "id": 1,
    "name": "Foobar Group",
    "path": "foo-bar",
    "owner_id": 18
  }
19 20 21
]
```

22 23
You can search for groups by name or path with: `/groups?search=Rails`

24
## Details of a group
25 26 27 28 29 30 31 32 33

Get all details of a group.

```
GET /groups/:id
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli committed
34
- `id` (required) - The ID of a group
35

36 37
## New group

38
Creates a new project group. Available only for admin.
39 40 41 42 43 44 45

```
POST /groups
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli committed
46 47
- `name` (required) - The name of the group
- `path` (required) - The path of the group
48

49 50 51 52 53 54 55 56 57
## Transfer project to group

Transfer a project to the Group namespace. Available only for admin

```
POST  /groups/:id/projects/:project_id
```

Parameters:
Izaak Alpert's avatar
Izaak Alpert committed
58

Ciro Santilli's avatar
Ciro Santilli committed
59 60
- `id` (required) - The ID of a group
- `project_id` (required) - The ID of a project
Izaak Alpert's avatar
Izaak Alpert committed
61

62 63 64 65 66 67 68 69 70 71
## Remove group

Removes group with all projects inside.

```
DELETE /groups/:id
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli committed
72
- `id` (required) - The ID of a user group
73

Izaak Alpert's avatar
Izaak Alpert committed
74 75
## Group members

76 77 78 79 80
**Group access levels**

The group access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized:

```
Ciro Santilli's avatar
Ciro Santilli committed
81 82 83 84 85
GUEST     = 10
REPORTER  = 20
DEVELOPER = 30
MASTER    = 40
OWNER     = 50
86 87
```

Izaak Alpert's avatar
Izaak Alpert committed
88 89 90 91 92 93 94 95 96 97 98
### List group members

Get a list of group members viewable by the authenticated user.

```
GET /groups/:id/members
```

```json
[
  {
99 100 101 102 103 104 105
    "id": 1,
    "username": "raymond_smith",
    "email": "ray@smith.org",
    "name": "Raymond Smith",
    "state": "active",
    "created_at": "2012-10-22T14:13:35Z",
    "access_level": 30
Izaak Alpert's avatar
Izaak Alpert committed
106 107
  },
  {
108 109 110 111 112 113 114
    "id": 2,
    "username": "john_doe",
    "email": "joh@doe.org",
    "name": "John Doe",
    "state": "active",
    "created_at": "2012-10-22T14:13:35Z",
    "access_level": 30
Izaak Alpert's avatar
Izaak Alpert committed
115 116 117 118 119 120 121 122 123 124 125 126 127 128
  }
]
```

### Add group member

Adds a user to the list of group members.

```
POST /groups/:id/members
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli committed
129 130 131
- `id` (required) - The ID of a group
- `user_id` (required) - The ID of a user to add
- `access_level` (required) - Project access level
Izaak Alpert's avatar
Izaak Alpert committed
132 133 134 135 136 137 138 139 140 141 142

### Remove user team member

Removes user from user team.

```
DELETE /groups/:id/members/:user_id
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli committed
143 144
- `id` (required) - The ID of a user group
- `user_id` (required) - The ID of a group member