groups.md 22,5 КБ
Newer Older
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
1
# Groups API
winniehell's avatar
winniehell включено в состав коммита
2
3
4

## List groups

Nick Thomas's avatar
Nick Thomas включено в состав коммита
5
6
Get a list of visible groups for the authenticated user. When accessed without
authentication, only public groups are returned.
Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
7
8
9

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
10
11
12
13
14
15
16
17
18
19
20
| Attribute                | Type              | Required | Description |
| ------------------------ | ----------------- | -------- | ---------- |
| `skip_groups`            | array of integers | no       | Skip the group IDs passed |
| `all_available`          | boolean           | no       | Show all the groups you have access to (defaults to `false` for authenticated users, `true` for admin); Attributes `owned` and `min_access_level` have precedence |
| `search`                 | string            | no       | Return the list of authorized groups matching the search criteria |
| `order_by`               | string            | no       | Order groups by `name`, `path` or `id`. Default is `name` |
| `sort`                   | string            | no       | Order groups in `asc` or `desc` order. Default is `asc` |
| `statistics`             | boolean           | no       | Include group statistics (admins only) |
| `with_custom_attributes` | boolean           | no       | Include [custom attributes](custom_attributes.md) in response (admins only) |
| `owned`                  | boolean           | no       | Limit to groups explicitly owned by the current user |
| `min_access_level`       | integer           | no       | Limit to groups where current user has at least this [access level](members.md) |
winniehell's avatar
winniehell включено в состав коммита
21
22
23
24
25
26
27
28
29
30
31

```
GET /groups
```

```json
[
  {
    "id": 1,
    "name": "Foobar Group",
    "path": "foo-bar",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
32
    "description": "An interesting group",
Toon Claes's avatar
Toon Claes включено в состав коммита
33
    "visibility": "public",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
34
35
36
37
38
    "lfs_enabled": true,
    "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",
    "web_url": "http://localhost:3000/groups/foo-bar",
    "request_access_enabled": false,
    "full_name": "Foobar Group",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
39
    "full_path": "foo-bar",
Nick Thomas's avatar
Nick Thomas включено в состав коммита
40
    "file_template_project_id": 1,
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
41
    "parent_id": null
winniehell's avatar
winniehell включено в состав коммита
42
43
44
45
  }
]
```

Robert Schilling's avatar
Robert Schilling включено в состав коммита
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
When adding the parameter `statistics=true` and the authenticated user is an admin, additional group statistics are returned.

```
GET /groups?statistics=true
```

```json
[
  {
    "id": 1,
    "name": "Foobar Group",
    "path": "foo-bar",
    "description": "An interesting group",
    "visibility": "public",
    "lfs_enabled": true,
    "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",
    "web_url": "http://localhost:3000/groups/foo-bar",
    "request_access_enabled": false,
    "full_name": "Foobar Group",
    "full_path": "foo-bar",
Nick Thomas's avatar
Nick Thomas включено в состав коммита
66
    "file_template_project_id": 1,
Robert Schilling's avatar
Robert Schilling включено в состав коммита
67
68
69
70
    "parent_id": null,
    "statistics": {
      "storage_size" : 212,
      "repository_size" : 33,
Peter Marko's avatar
Peter Marko включено в состав коммита
71
      "wiki_size" : 100,
Robert Schilling's avatar
Robert Schilling включено в состав коммита
72
      "lfs_objects_size" : 123,
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
73
74
      "job_artifacts_size" : 57,
      "packages_size": 0
Robert Schilling's avatar
Robert Schilling включено в состав коммита
75
76
77
78
79
    }
  }
]
```

winniehell's avatar
winniehell включено в состав коммита
80
81
You can search for groups by name or path, see below.

Markus Koller's avatar
Markus Koller включено в состав коммита
82
83
84
85
86
87
You can filter by [custom attributes](custom_attributes.md) with:

```
GET /groups?custom_attributes[key]=value&custom_attributes[other_key]=other_value
```

JJ's avatar
JJ включено в состав коммита
88
## List a group's subgroups
Winnie Hellmann's avatar
Winnie Hellmann включено в состав коммита
89

Mark Fletcher's avatar
Mark Fletcher включено в состав коммита
90
91
> [Introduced][ce-15142] in GitLab 10.3.

Winnie Hellmann's avatar
Winnie Hellmann включено в состав коммита
92
93
94
95
96
Get a list of visible direct subgroups in this group.
When accessed without authentication, only public groups are returned.

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
97
98
99
100
101
102
103
104
105
106
107
108
| Attribute                | Type              | Required | Description |
| ------------------------ | ----------------- | -------- | ----------- |
| `id`                     | integer/string    | yes      | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) of the parent group |
| `skip_groups`            | array of integers | no       | Skip the group IDs passed |
| `all_available`          | boolean           | no       | Show all the groups you have access to (defaults to `false` for authenticated users, `true` for admin); Attributes `owned` and `min_access_level` have preceden |
| `search`                 | string            | no       | Return the list of authorized groups matching the search criteria |
| `order_by`               | string            | no       | Order groups by `name`, `path` or `id`. Default is `name` |
| `sort`                   | string            | no       | Order groups in `asc` or `desc` order. Default is `asc` |
| `statistics`             | boolean           | no       | Include group statistics (admins only) |
| `with_custom_attributes` | boolean           | no       | Include [custom attributes](custom_attributes.md) in response (admins only) |
| `owned`                  | boolean           | no       | Limit to groups explicitly owned by the current user |
| `min_access_level`       | integer           | no       | Limit to groups where current user has at least this [access level](members.md) |
Winnie Hellmann's avatar
Winnie Hellmann включено в состав коммита
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

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

```json
[
  {
    "id": 1,
    "name": "Foobar Group",
    "path": "foo-bar",
    "description": "An interesting group",
    "visibility": "public",
    "lfs_enabled": true,
    "avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/foo.jpg",
    "web_url": "http://gitlab.example.com/groups/foo-bar",
    "request_access_enabled": false,
    "full_name": "Foobar Group",
    "full_path": "foo-bar",
Nick Thomas's avatar
Nick Thomas включено в состав коммита
128
    "file_template_project_id": 1,
Winnie Hellmann's avatar
Winnie Hellmann включено в состав коммита
129
130
131
132
133
    "parent_id": 123
  }
]
```

winniehell's avatar
winniehell включено в состав коммита
134
135
## List a group's projects

Nick Thomas's avatar
Nick Thomas включено в состав коммита
136
137
Get a list of projects in this group. When accessed without authentication, only
public projects are returned.
winniehell's avatar
winniehell включено в состав коммита
138
139
140
141
142
143
144

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

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
145
146
147
148
149
150
151
152
153
154
155
156
157
158
| Attribute                     | Type           | Required | Description |
| ----------------------------- | -------------- | -------- | ----------- |
| `id`                          | integer/string | yes      | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user |
| `archived`                    | boolean        | no       | Limit by archived status |
| `visibility`                  | string         | no       | Limit by visibility `public`, `internal`, or `private` |
| `order_by`                    | string         | no       | Return projects ordered by `id`, `name`, `path`, `created_at`, `updated_at`, or `last_activity_at` fields. Default is `created_at` |
| `sort`                        | string         | no       | Return projects sorted in `asc` or `desc` order. Default is `desc` |
| `search`                      | string         | no       | Return list of authorized projects matching the search criteria |
| `simple`                      | boolean        | no       | Return only the ID, URL, name, and path of each project |
| `owned`                       | boolean        | no       | Limit by projects owned by the current user |
| `starred`                     | boolean        | no       | Limit by projects starred by the current user |
| `with_issues_enabled`         | boolean        | no       | Limit by projects with issues feature enabled. Default is `false` |
| `with_merge_requests_enabled` | boolean        | no       | Limit by projects with merge requests feature enabled. Default is `false` |
| `with_shared`                 | boolean        | no       | Include projects shared to this group. Default is `true` |
Felipe Artur's avatar
Felipe Artur включено в состав коммита
159
160
| `include_subgroups`           | boolean        | no       | Include projects in subgroups of this group. Default is `false`   |
| `min_access_level`            | integer        | no       | Limit to projects where current user has at least this [access level](members.md) |
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
161
| `with_custom_attributes`      | boolean        | no       | Include [custom attributes](custom_attributes.md) in response (admins only) |
Victor Zagorodny's avatar
Victor Zagorodny включено в состав коммита
162
| `with_security_reports`       | boolean        | no       | **(ULTIMATE)** Return only projects that have security reports artifacts present in any of their builds. This means "projects with security reports enabled". Default is `false` |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
163
164

Example response:
winniehell's avatar
winniehell включено в состав коммита
165
166
167
168
169
170
171
172
173

```json
[
  {
    "id": 9,
    "description": "foo",
    "default_branch": "master",
    "tag_list": [],
    "archived": false,
Toon Claes's avatar
Toon Claes включено в состав коммита
174
    "visibility": "internal",
winniehell's avatar
winniehell включено в состав коммита
175
176
177
178
179
180
181
182
183
184
    "ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git",
    "http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git",
    "web_url": "http://gitlab.example.com/h5bp/html5-boilerplate",
    "name": "Html5 Boilerplate",
    "name_with_namespace": "Experimental / Html5 Boilerplate",
    "path": "html5-boilerplate",
    "path_with_namespace": "h5bp/html5-boilerplate",
    "issues_enabled": true,
    "merge_requests_enabled": true,
    "wiki_enabled": true,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
185
    "jobs_enabled": true,
winniehell's avatar
winniehell включено в состав коммита
186
187
188
189
190
191
192
193
194
    "snippets_enabled": true,
    "created_at": "2016-04-05T21:40:50.169Z",
    "last_activity_at": "2016-04-06T16:52:08.432Z",
    "shared_runners_enabled": true,
    "creator_id": 1,
    "namespace": {
      "id": 5,
      "name": "Experimental",
      "path": "h5bp",
Markus Koller's avatar
Markus Koller включено в состав коммита
195
      "kind": "group"
winniehell's avatar
winniehell включено в состав коммита
196
197
198
199
200
    },
    "avatar_url": null,
    "star_count": 1,
    "forks_count": 0,
    "open_issues_count": 3,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
201
    "public_jobs": true,
Felipe Artur's avatar
Felipe Artur включено в состав коммита
202
203
    "shared_with_groups": [],
    "request_access_enabled": false
winniehell's avatar
winniehell включено в состав коммита
204
205
206
207
208
209
  }
]
```

## Details of a group

Nick Thomas's avatar
Nick Thomas включено в состав коммита
210
211
Get all details of a group. This endpoint can be accessed without authentication
if the group is publicly accessible.
winniehell's avatar
winniehell включено в состав коммита
212
213
214
215
216
217
218

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

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
219
220
221
222
223
| Attribute                | Type           | Required | Description |
| ------------------------ | -------------- | -------- | ----------- |
| `id`                     | integer/string | yes      | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `with_custom_attributes` | boolean        | no       | Include [custom attributes](custom_attributes.md) in response (admins only). |
| `with_projects`          | boolean        | no       | Include details from projects that belong to the specified group (defaults to `true`). |
winniehell's avatar
winniehell включено в состав коммита
224
225

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
226
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4
winniehell's avatar
winniehell включено в состав коммита
227
228
229
230
231
232
233
234
235
236
```

Example response:

```json
{
  "id": 4,
  "name": "Twitter",
  "path": "twitter",
  "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
Toon Claes's avatar
Toon Claes включено в состав коммита
237
  "visibility": "public",
winniehell's avatar
winniehell включено в состав коммита
238
239
  "avatar_url": null,
  "web_url": "https://gitlab.example.com/groups/twitter",
Felipe Artur's avatar
Felipe Artur включено в состав коммита
240
  "request_access_enabled": false,
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
241
242
  "full_name": "Twitter",
  "full_path": "twitter",
Nick Thomas's avatar
Nick Thomas включено в состав коммита
243
  "file_template_project_id": 1,
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
244
  "parent_id": null,
winniehell's avatar
winniehell включено в состав коммита
245
246
247
248
249
250
251
  "projects": [
    {
      "id": 7,
      "description": "Voluptas veniam qui et beatae voluptas doloremque explicabo facilis.",
      "default_branch": "master",
      "tag_list": [],
      "archived": false,
Toon Claes's avatar
Toon Claes включено в состав коммита
252
      "visibility": "public",
winniehell's avatar
winniehell включено в состав коммита
253
254
255
256
257
258
259
260
261
262
      "ssh_url_to_repo": "git@gitlab.example.com:twitter/typeahead-js.git",
      "http_url_to_repo": "https://gitlab.example.com/twitter/typeahead-js.git",
      "web_url": "https://gitlab.example.com/twitter/typeahead-js",
      "name": "Typeahead.Js",
      "name_with_namespace": "Twitter / Typeahead.Js",
      "path": "typeahead-js",
      "path_with_namespace": "twitter/typeahead-js",
      "issues_enabled": true,
      "merge_requests_enabled": true,
      "wiki_enabled": true,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
263
      "jobs_enabled": true,
winniehell's avatar
winniehell включено в состав коммита
264
265
266
267
268
269
270
271
272
273
      "snippets_enabled": false,
      "container_registry_enabled": true,
      "created_at": "2016-06-17T07:47:25.578Z",
      "last_activity_at": "2016-06-17T07:47:25.881Z",
      "shared_runners_enabled": true,
      "creator_id": 1,
      "namespace": {
        "id": 4,
        "name": "Twitter",
        "path": "twitter",
Markus Koller's avatar
Markus Koller включено в состав коммита
274
        "kind": "group"
winniehell's avatar
winniehell включено в состав коммита
275
276
277
278
279
      },
      "avatar_url": null,
      "star_count": 0,
      "forks_count": 0,
      "open_issues_count": 3,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
280
      "public_jobs": true,
Felipe Artur's avatar
Felipe Artur включено в состав коммита
281
282
      "shared_with_groups": [],
      "request_access_enabled": false
winniehell's avatar
winniehell включено в состав коммита
283
284
285
286
287
288
289
    },
    {
      "id": 6,
      "description": "Aspernatur omnis repudiandae qui voluptatibus eaque.",
      "default_branch": "master",
      "tag_list": [],
      "archived": false,
Toon Claes's avatar
Toon Claes включено в состав коммита
290
      "visibility": "internal",
winniehell's avatar
winniehell включено в состав коммита
291
292
293
294
295
296
297
298
299
300
      "ssh_url_to_repo": "git@gitlab.example.com:twitter/flight.git",
      "http_url_to_repo": "https://gitlab.example.com/twitter/flight.git",
      "web_url": "https://gitlab.example.com/twitter/flight",
      "name": "Flight",
      "name_with_namespace": "Twitter / Flight",
      "path": "flight",
      "path_with_namespace": "twitter/flight",
      "issues_enabled": true,
      "merge_requests_enabled": true,
      "wiki_enabled": true,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
301
      "jobs_enabled": true,
winniehell's avatar
winniehell включено в состав коммита
302
303
304
305
306
307
308
309
310
311
      "snippets_enabled": false,
      "container_registry_enabled": true,
      "created_at": "2016-06-17T07:47:24.661Z",
      "last_activity_at": "2016-06-17T07:47:24.838Z",
      "shared_runners_enabled": true,
      "creator_id": 1,
      "namespace": {
        "id": 4,
        "name": "Twitter",
        "path": "twitter",
Markus Koller's avatar
Markus Koller включено в состав коммита
312
        "kind": "group"
winniehell's avatar
winniehell включено в состав коммита
313
314
315
316
317
      },
      "avatar_url": null,
      "star_count": 0,
      "forks_count": 0,
      "open_issues_count": 8,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
318
      "public_jobs": true,
Felipe Artur's avatar
Felipe Artur включено в состав коммита
319
320
      "shared_with_groups": [],
      "request_access_enabled": false
winniehell's avatar
winniehell включено в состав коммита
321
322
323
324
325
326
327
328
329
    }
  ],
  "shared_projects": [
    {
      "id": 8,
      "description": "Velit eveniet provident fugiat saepe eligendi autem.",
      "default_branch": "master",
      "tag_list": [],
      "archived": false,
Toon Claes's avatar
Toon Claes включено в состав коммита
330
      "visibility": "private",
winniehell's avatar
winniehell включено в состав коммита
331
332
333
334
335
336
337
338
339
340
      "ssh_url_to_repo": "git@gitlab.example.com:h5bp/html5-boilerplate.git",
      "http_url_to_repo": "https://gitlab.example.com/h5bp/html5-boilerplate.git",
      "web_url": "https://gitlab.example.com/h5bp/html5-boilerplate",
      "name": "Html5 Boilerplate",
      "name_with_namespace": "H5bp / Html5 Boilerplate",
      "path": "html5-boilerplate",
      "path_with_namespace": "h5bp/html5-boilerplate",
      "issues_enabled": true,
      "merge_requests_enabled": true,
      "wiki_enabled": true,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
341
      "jobs_enabled": true,
winniehell's avatar
winniehell включено в состав коммита
342
343
344
345
346
347
348
349
350
351
      "snippets_enabled": false,
      "container_registry_enabled": true,
      "created_at": "2016-06-17T07:47:27.089Z",
      "last_activity_at": "2016-06-17T07:47:27.310Z",
      "shared_runners_enabled": true,
      "creator_id": 1,
      "namespace": {
        "id": 5,
        "name": "H5bp",
        "path": "h5bp",
Markus Koller's avatar
Markus Koller включено в состав коммита
352
        "kind": "group"
winniehell's avatar
winniehell включено в состав коммита
353
354
355
356
357
      },
      "avatar_url": null,
      "star_count": 0,
      "forks_count": 0,
      "open_issues_count": 4,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
358
      "public_jobs": true,
winniehell's avatar
winniehell включено в состав коммита
359
360
361
362
      "shared_with_groups": [
        {
          "group_id": 4,
          "group_name": "Twitter",
Mathieu Parent's avatar
Mathieu Parent включено в состав коммита
363
          "group_full_path": "twitter",
Robert Schilling's avatar
Robert Schilling включено в состав коммита
364
365
          "group_access_level": 30,
          "expires_at": null
winniehell's avatar
winniehell включено в состав коммита
366
367
368
369
        },
        {
          "group_id": 3,
          "group_name": "Gitlab Org",
Mathieu Parent's avatar
Mathieu Parent включено в состав коммита
370
          "group_full_path": "gitlab-org",
Robert Schilling's avatar
Robert Schilling включено в состав коммита
371
372
          "group_access_level": 10,
          "expires_at": "2018-08-14"
winniehell's avatar
winniehell включено в состав коммита
373
374
375
376
377
378
379
        }
      ]
    }
  ]
}
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
380
381
382
Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see
the `shared_runners_minutes_limit` and `extra_shared_runners_minutes_limit` parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
383
Additional response parameters:
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
384
385

```json
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
386
387
388
{
  "id": 4,
  "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
389
390
  "shared_runners_minutes_limit": 133,
  "extra_shared_runners_minutes_limit": 133,
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
391
392
  ...
}
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
393
394
```

Tiago Botelho's avatar
Tiago Botelho включено в состав коммита
395
396
397
When adding the parameter `with_projects=false`, projects will not be returned.

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
398
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4?with_projects=false
Tiago Botelho's avatar
Tiago Botelho включено в состав коммита
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
```

Example response:

```json
{
  "id": 4,
  "name": "Twitter",
  "path": "twitter",
  "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
  "visibility": "public",
  "avatar_url": null,
  "web_url": "https://gitlab.example.com/groups/twitter",
  "request_access_enabled": false,
  "full_name": "Twitter",
  "full_path": "twitter",
Nick Thomas's avatar
Nick Thomas включено в состав коммита
415
  "file_template_project_id": 1,
Tiago Botelho's avatar
Tiago Botelho включено в состав коммита
416
417
418
419
  "parent_id": null
}
```

winniehell's avatar
winniehell включено в состав коммита
420
421
422
423
424
425
426
427
428
429
## New group

Creates a new project group. Available only for users who can create groups.

```
POST /groups
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
430
431
432
433
434
435
436
437
438
| Attribute                            | Type    | Required | Description |
| ------------------------------------ | ------- | -------- | ----------- |
| `name`                               | string  | yes      | The name of the group. |
| `path`                               | string  | yes      | The path of the group. |
| `description`                        | string  | no       | The group's description. |
| `visibility`                         | string  | no       | The group's visibility. Can be `private`, `internal`, or `public`. |
| `lfs_enabled`                        | boolean | no       | Enable/disable Large File Storage (LFS) for the projects in this group. |
| `request_access_enabled`             | boolean | no       | Allow users to request member access. |
| `parent_id`                          | integer | no       | The parent group ID for creating nested group. |
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
439
440
| `shared_runners_minutes_limit`       | integer | no       | **(STARTER ONLY)** Pipeline minutes quota for this group. |
| `extra_shared_runners_minutes_limit` | integer | no       | **(STARTER ONLY)** Extra pipeline minutes quota for this group. |
winniehell's avatar
winniehell включено в состав коммита
441
442
443
444
445
446
447
448
449
450
451

## Transfer project to group

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

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

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
452
453
454
455
| Attribute    | Type           | Required | Description |
| ------------ | -------------- | -------- | ----------- |
| `id`         | integer/string | yes      | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user |
| `project_id` | integer/string | yes      | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
winniehell's avatar
winniehell включено в состав коммита
456
457
458
459
460
461
462
463
464

## Update group

Updates the project group. Only available to group owners and administrators.

```
PUT /groups/:id
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
465
466
467
468
469
470
| Attribute                            | Type    | Required | Description |
| ------------------------------------ | ------- | -------- | ----------- |
| `id`                                 | integer | yes      | The ID of the group. |
| `name`                               | string  | no       | The name of the group. |
| `path`                               | string  | no       | The path of the group. |
| `description`                        | string  | no       | The description of the group. |
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
471
| `membership_lock`                    | boolean | no       | **(STARTER)** Prevent adding new members to project membership within this group. |
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
472
473
474
475
| `share_with_group_lock`              | boolean | no       | Prevent sharing a project with another group within this group. |
| `visibility`                         | string  | no       | The visibility level of the group. Can be `private`, `internal`, or `public`. |
| `lfs_enabled` (optional)             | boolean | no       | Enable/disable Large File Storage (LFS) for the projects in this group. |
| `request_access_enabled`             | boolean | no       | Allow users to request member access. |
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
476
477
478
| `file_template_project_id`           | integer | no       | **(PREMIUM)** The ID of a project to load custom file templates from. |
| `shared_runners_minutes_limit`       | integer | no       | **(STARTER ONLY)** Pipeline minutes quota for this group. |
| `extra_shared_runners_minutes_limit` | integer | no       | **(STARTER ONLY)** Extra pipeline minutes quota for this group. |
winniehell's avatar
winniehell включено в состав коммита
479
480

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
481
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5?name=Experimental"
winniehell's avatar
winniehell включено в состав коммита
482
483
484
485
486
487
488
489
490
491
492

```

Example response:

```json
{
  "id": 5,
  "name": "Experimental",
  "path": "h5bp",
  "description": "foo",
Toon Claes's avatar
Toon Claes включено в состав коммита
493
  "visibility": "internal",
winniehell's avatar
winniehell включено в состав коммита
494
495
  "avatar_url": null,
  "web_url": "http://gitlab.example.com/groups/h5bp",
Felipe Artur's avatar
Felipe Artur включено в состав коммита
496
  "request_access_enabled": false,
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
497
498
  "full_name": "Foobar Group",
  "full_path": "foo-bar",
Nick Thomas's avatar
Nick Thomas включено в состав коммита
499
  "file_template_project_id": 1,
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
500
  "parent_id": null,
winniehell's avatar
winniehell включено в состав коммита
501
502
503
504
505
506
507
508
  "projects": [
    {
      "id": 9,
      "description": "foo",
      "default_branch": "master",
      "tag_list": [],
      "public": false,
      "archived": false,
Toon Claes's avatar
Toon Claes включено в состав коммита
509
      "visibility": "internal",
winniehell's avatar
winniehell включено в состав коммита
510
511
512
513
514
515
516
517
518
519
      "ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git",
      "http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git",
      "web_url": "http://gitlab.example.com/h5bp/html5-boilerplate",
      "name": "Html5 Boilerplate",
      "name_with_namespace": "Experimental / Html5 Boilerplate",
      "path": "html5-boilerplate",
      "path_with_namespace": "h5bp/html5-boilerplate",
      "issues_enabled": true,
      "merge_requests_enabled": true,
      "wiki_enabled": true,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
520
      "jobs_enabled": true,
winniehell's avatar
winniehell включено в состав коммита
521
522
523
524
525
526
527
528
529
      "snippets_enabled": true,
      "created_at": "2016-04-05T21:40:50.169Z",
      "last_activity_at": "2016-04-06T16:52:08.432Z",
      "shared_runners_enabled": true,
      "creator_id": 1,
      "namespace": {
        "id": 5,
        "name": "Experimental",
        "path": "h5bp",
Markus Koller's avatar
Markus Koller включено в состав коммита
530
        "kind": "group"
winniehell's avatar
winniehell включено в состав коммита
531
532
533
534
535
      },
      "avatar_url": null,
      "star_count": 1,
      "forks_count": 0,
      "open_issues_count": 3,
Z.J. van de Weg's avatar
Z.J. van de Weg включено в состав коммита
536
      "public_jobs": true,
Felipe Artur's avatar
Felipe Artur включено в состав коммита
537
538
      "shared_with_groups": [],
      "request_access_enabled": false
winniehell's avatar
winniehell включено в состав коммита
539
540
541
542
543
544
545
    }
  ]
}
```

## Remove group

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
546
Removes group with all projects inside. Only available to group owners and administrators.
winniehell's avatar
winniehell включено в состав коммита
547
548
549
550
551
552
553
554
555

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

Parameters:

- `id` (required) - The ID or path of a user group

Stan Hu's avatar
Stan Hu включено в состав коммита
556
557
558
This will queue a background job to delete all projects in the group. The
response will be a 202 Accepted if the user has authorization.

winniehell's avatar
winniehell включено в состав коммита
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
## Search for group

Get all groups that match your string in their name or path.

```
GET /groups?search=foobar
```

```json
[
  {
    "id": 1,
    "name": "Foobar Group",
    "path": "foo-bar",
    "description": "An interesting group"
  }
]
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
578
## Sync group with LDAP **(CORE ONLY)**
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
579
580
581
582
583
584
585
586
587
588
589

Syncs the group with its linked LDAP group. Only available to group owners and administrators.

```
POST /groups/:id/ldap_sync
```

Parameters:

- `id` (required) - The ID or path of a user group

winniehell's avatar
winniehell включено в состав коммита
590
591
## Group members

Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
592
Please consult the [Group Members](members.md) documentation.
winniehell's avatar
winniehell включено в состав коммита
593

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
594
### Add LDAP group link **(CORE ONLY)**
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
595
596
597
598
599
600
601
602
603
604
605
606
607
608

Adds an LDAP group link.

```
POST /groups/:id/ldap_group_links
```

Parameters:

- `id` (required) - The ID of a group
- `cn` (required) - The CN of a LDAP group
- `group_access` (required) - Minimum access level for members of the LDAP group
- `provider` (required) - LDAP provider for the LDAP group

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
609
### Delete LDAP group link **(CORE ONLY)**
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633

Deletes an LDAP group link.

```
DELETE /groups/:id/ldap_group_links/:cn
```

Parameters:

- `id` (required) - The ID of a group
- `cn` (required) - The CN of a LDAP group

Deletes a LDAP group link for a specific LDAP provider

```
DELETE /groups/:id/ldap_group_links/:provider/:cn
```

Parameters:

- `id` (required) - The ID of a group
- `cn` (required) - The CN of a LDAP group
- `provider` (required) - Name of a LDAP provider

winniehell's avatar
winniehell включено в состав коммита
634
635
636
637
638
## Namespaces in groups

By default, groups only get 20 namespaces at a time because the API results are paginated.

To get more (up to 100), pass the following as an argument to the API call:
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
639

winniehell's avatar
winniehell включено в состав коммита
640
641
642
643
644
```
/groups?per_page=100
```

And to switch pages add:
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
645

winniehell's avatar
winniehell включено в состав коммита
646
647
648
```
/groups?per_page=100&page=2
```
Mark Fletcher's avatar
Mark Fletcher включено в состав коммита
649
650

[ce-15142]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15142
Francisco Javier López's avatar
Francisco Javier López включено в состав коммита
651
652
653
654

## Group badges

Read more in the [Group Badges](group_badges.md) documentation.