projects.md
-
Felix Gilcher authored
The API accepts project names in all places where project IDs are expected. Updated the docs to reflect that.
Felix Gilcher authoredThe API accepts project names in all places where project IDs are expected. Updated the docs to reflect that.
List projects
Get a list of projects owned by the authenticated user.
GET /projects
[
{
"id": 3,
"name": "rails",
"description": null,
"default_branch": "master",
"owner": {
"id": 1,
"username": "john_smith",
"email": "john@example.com",
"name": "John Smith",
"blocked": false,
"created_at": "2012-05-23T08:00:58Z"
},
"private": true,
"issues_enabled": false,
"merge_requests_enabled": false,
"wall_enabled": true,
"wiki_enabled": true,
"created_at": "2012-05-23T08:05:02Z"
},
{
"id": 5,
"name": "gitlab",
"description": null,
"default_branch": "api",
"owner": {
"id": 1,
"username": "john_smith",
"email": "john@example.com",
"name": "John Smith",
"blocked": false,
"created_at": "2012-05-23T08:00:58Z"
},
"private": true,
"issues_enabled": true,
"merge_requests_enabled": true,
"wall_enabled": true,
"wiki_enabled": true,
"created_at": "2012-05-30T12:49:20Z"
}
]
Single project
Get a specific project, identified by project ID or NAME, which is owned by the authentication user. Currently namespaced projects cannot retrieved by name.
GET /projects/:id
Parameters:
-
id
(required) - The ID or NAME of a project
{
"id": 5,
"name": "gitlab",
"description": null,
"default_branch": "api",
"owner": {
"id": 1,
"username": "john_smith",
"email": "john@example.com",
"name": "John Smith",
"blocked": false,
"created_at": "2012-05-23T08:00:58Z"
},
"private": true,
"issues_enabled": true,
"merge_requests_enabled": true,
"wall_enabled": true,
"wiki_enabled": true,
"created_at": "2012-05-30T12:49:20Z"
}
Create project
Create new project owned by user
POST /projects
Parameters:
-
name
(required) - new project name -
description
(optional) - short project description -
default_branch
(optional) - 'master' by default -
issues_enabled
(optional) - enabled by default -
wall_enabled
(optional) - enabled by default -
merge_requests_enabled
(optional) - enabled by default -
wiki_enabled
(optional) - enabled by default
Will return created project with status 201 Created
on success, or 404 Not found
on fail.
Project access levels
The project access levels are defined in the user_project
class. Currently, 4
levels are recoginized:
GUEST = 10
REPORTER = 20
DEVELOPER = 30
MASTER = 40
List project team members
Get a list of project team members.
GET /projects/:id/members
Parameters:
-
id
(required) - The ID or NAME of a project -
query
- Query string
Get project team member
Get a project team member.
GET /projects/:id/members/:user_id
Parameters:
-
id
(required) - The ID or NAME of a project -
user_id
(required) - The ID of a user
{
"id": 1,
"username": "john_smith",
"email": "john@example.com",
"name": "John Smith",
"blocked": false,
"created_at": "2012-05-23T08:00:58Z",
"access_level": 40
}
Add project team member
Add a user to a project team.
POST /projects/:id/members
Parameters:
-
id
(required) - The ID or NAME of a project -
user_id
(required) - The ID of a user to add -
access_level
(required) - Project access level
Will return status 201 Created
on success, or 404 Not found
on fail.
Edit project team member
Update project team member to specified access level.
PUT /projects/:id/members/:user_id
Parameters:
-
id
(required) - The ID or NAME of a project -
user_id
(required) - The ID of a team member -
access_level
(required) - Project access level
Will return status 200 OK
on success, or 404 Not found
on fail.
Remove project team member
Removes user from project team.
DELETE /projects/:id/members/:user_id
Parameters:
-
id
(required) - The ID or NAME of a project -
user_id
(required) - The ID of a team member
Status code 200
will be returned on success.
List project hooks
Get list for project hooks
GET /projects/:id/hooks
Parameters:
-
id
(required) - The ID or NAME of a project
Will return hooks with status 200 OK
on success, or 404 Not found
on fail.
Get project hook
Get hook for project
GET /projects/:id/hooks/:hook_id
Parameters:
-
id
(required) - The ID or NAME of a project -
hook_id
(required) - The ID of a project hook
Will return hook with status 200 OK
on success, or 404 Not found
on fail.
Add project hook
Add hook to project
POST /projects/:id/hooks
Parameters:
-
id
(required) - The ID or NAME of a project -
url
(required) - The hook URL
Will return status 201 Created
on success, or 404 Not found
on fail.
Edit project hook
Edit hook for project
PUT /projects/:id/hooks/:hook_id
Parameters:
-
id
(required) - The ID or NAME of a project -
hook_id
(required) - The ID of a project hook -
url
(required) - The hook URL
Will return status 201 Created
on success, or 404 Not found
on fail.
Delete project hook
Delete hook from project
DELETE /projects/:id/hooks
Parameters:
-
id
(required) - The ID or NAME of a project -
hook_id
(required) - The ID of hook to delete
Will return status 200 OK
on success, or 404 Not found
on fail.