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
112
113
114
115
116
117
118
119
|
## List project groups
Get a list of groups. (As user: my groups, as admin: all groups)
```
GET /groups
```
```json
[
{
"id": 1,
"name": "Foobar Group",
"path": "foo-bar",
"owner_id": 18
}
]
```
## Details of a group
Get all details of a group.
```
GET /groups/:id
```
Parameters:
+ `id` (required) - The ID of a group
## New group
Creates a new project group. Available only for admin.
```
POST /groups
```
Parameters:
+ `name` (required) - The name of the group
+ `path` (required) - The path of the group
## Transfer project to group
Transfer a project to the Group namespace. Available only for admin
```
POST /groups/:id/projects/:project_id
```
Parameters:
+ `id` (required) - The ID of a group
+ `project_id` (required) - The ID of a project
## Group members
### List group members
Get a list of group members viewable by the authenticated user.
```
GET /groups/:id/members
```
```json
[
{
id: 1,
username: "raymond_smith",
email: "ray@smith.org",
name: "Raymond Smith",
state: "active",
created_at: "2012-10-22T14:13:35Z",
access_level: 30
},
{
id: 2,
username: "john_doe",
email: "joh@doe.org",
name: "John Doe",
state: "active",
created_at: "2012-10-22T14:13:35Z",
access_level: 30
}
]
```
### Add group member
Adds a user to the list of group members.
```
POST /groups/:id/members
```
Parameters:
+ `id` (required) - The ID of a group
+ `user_id` (required) - The ID of a user to add
+ `access_level` (required) - Project access level
### Remove user team member
Removes user from user team.
```
DELETE /groups/:id/members/:user_id
```
Parameters:
+ `id` (required) - The ID of a user group
+ `user_id` (required) - The ID of a group member
|