Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jérome Perrin
gitlab-ce
Commits
41a21912
Commit
41a21912
authored
Jun 10, 2015
by
Karen Carias
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added links to API calls
parent
41469e5c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
191 additions
and
191 deletions
+191
-191
doc/api/groups.md
doc/api/groups.md
+191
-191
No files found.
doc/api/groups.md
View file @
41a21912
# Groups
## 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"
,
"description"
:
"An interesting group"
}
]
```
You can search for groups by name or path, see below.
## Details of a group
Get all details of a group.
```
GET /groups/:id
```
Parameters:
-
`id`
(required) - The ID or path of a group
## New group
Creates a new project group. Available only for users who can create groups.
```
POST /groups
```
Parameters:
-
`name`
(required) - The name of the group
-
`path`
(required) - The path of the group
-
`description`
(optional) - The group's description
## 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 or path of a group
-
`project_id`
(required) - The ID of a project
## Remove group
Removes group with all projects inside.
```
DELETE /groups/:id
```
Parameters:
-
`id`
(required) - The ID or path of a user group
## 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"
}
]
```
## Group members
**Group access levels**
The group access levels are defined in the
`Gitlab::Access`
module. Currently, these levels are recognized:
```
GUEST = 10
REPORTER = 20
DEVELOPER = 30
MASTER = 40
OWNER = 50
```
### 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 or path of a group
-
`user_id`
(required) - The ID of a user to add
-
`access_level`
(required) - Project access level
### Edit group team member
Updates a group team member to a specified access level.
```
PUT /groups/:id/members/:user_id
```
Parameters:
-
`id`
(required) - The ID of a group
-
`user_id`
(required) - The ID of a group member
-
`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 or path of a user group
-
`user_id`
(required) - The ID of a group member
## 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:
```
per_page=100
```
And to switch pages add:
```
page=2
# Groups
## 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"
,
"description"
:
"An interesting group"
}
]
```
You can search for groups by name or path, see below.
## Details of a group
Get all details of a group.
```
GET /groups/:id
```
Parameters:
-
`id`
(required) - The ID or path of a group
## New group
Creates a new project group. Available only for users who can create groups.
```
POST /groups
```
Parameters:
-
`name`
(required) - The name of the group
-
`path`
(required) - The path of the group
-
`description`
(optional) - The group's description
## 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 or path of a group
-
`project_id`
(required) - The ID of a project
## Remove group
Removes group with all projects inside.
```
DELETE /groups/:id
```
Parameters:
-
`id`
(required) - The ID or path of a user group
## 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"
}
]
```
## Group members
**Group access levels**
The group access levels are defined in the
`Gitlab::Access`
module. Currently, these levels are recognized:
```
GUEST = 10
REPORTER = 20
DEVELOPER = 30
MASTER = 40
OWNER = 50
```
### 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 or path of a group
-
`user_id`
(required) - The ID of a user to add
-
`access_level`
(required) - Project access level
### Edit group team member
Updates a group team member to a specified access level.
```
PUT /groups/:id/members/:user_id
```
Parameters:
-
`id`
(required) - The ID of a group
-
`user_id`
(required) - The ID of a group member
-
`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 or path of a user group
-
`user_id`
(required) - The ID of a group member
## 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:
```
/groups?per_page=100
```
And to switch pages add:
```
/groups?per_page=100&page=2
```
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment