gitlab-org--gitlab-foss/doc/api/user_teams.md
Christian Simon 0ebfa5e5a2 [FEATURE] Basic user_teams api
* Closing #3066
 * Closing #3609
2013-05-21 23:13:30 +02:00

209 lines
3.1 KiB
Markdown

## User teams
### List user teams
Get a list of user teams viewable by the authenticated user.
```
GET /user_teams
```
```json
[
{
id: 1,
name: "User team 1",
path: "user_team1",
owner_id: 1
},
{
id: 2,
name: "User team 2",
path: "user_team2",
owner_id: 1
}
]
```
### Get single user team
Get a specific user team, identified by user team ID, which is viewable by the authenticated user.
```
GET /user_teams/:id
```
Parameters:
+ `id` (required) - The ID of a user_team
```json
{
id: 1,
name: "User team 1",
path: "user_team1",
owner_id: 1
}
```
### Create user team
Creates new user team owned by user. Available only for admins.
```
POST /user_teams
```
Parameters:
+ `name` (required) - new user team name
+ `path` (required) - new user team internal name
## User team members
### List user team members
Get a list of project team members.
```
GET /user_teams/:id/members
```
Parameters:
+ `id` (required) - The ID of a user_team
### Get user team member
Gets a user team member.
```
GET /user_teams/:id/members/:user_id
```
Parameters:
+ `id` (required) - The ID of a user_team
+ `user_id` (required) - The ID of a user
```json
{
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 user team member
Adds a user to a user team.
```
POST /user_teams/:id/members
```
Parameters:
+ `id` (required) - The ID of a user team
+ `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 /user_teams/:id/members/:user_id
```
Parameters:
+ `id` (required) - The ID of a user team
+ `user_id` (required) - The ID of a team member
## User team projects
### List user team projects
Get a list of project team projects.
```
GET /user_teams/:id/projects
```
Parameters:
+ `id` (required) - The ID of a user_team
### Get user team project
Gets a user team project.
```
GET /user_teams/:id/projects/:project_id
```
Parameters:
+ `id` (required) - The ID of a user_team
+ `project_id` (required) - The ID of a user
```json
{
id: 12,
name: "project1",
description: null,
default_branch: "develop",
public: false,
path: "project1",
path_with_namespace: "group1/project1",
issues_enabled: false,
merge_requests_enabled: true,
wall_enabled: true,
wiki_enabled: false,
created_at: "2013-03-11T12:59:08Z",
greatest_access_level: 30
}
```
### Add user team project
Adds a project to a user team.
```
POST /user_teams/:id/projects
```
Parameters:
+ `id` (required) - The ID of a user team
+ `project_id` (required) - The ID of a project to add
+ `greatest_access_level` (required) - Maximum project access level
### Remove user team project
Removes project from user team.
```
DELETE /user_teams/:id/projects/:project_id
```
Parameters:
+ `id` (required) - The ID of a user team
+ `project_id` (required) - The ID of a team project