Commit 7567614d authored by Jacob Vosmaer's avatar Jacob Vosmaer

Merge tag 'v7.2.0.rc1'

Bump version to 7.2.0.rc1

Conflicts:
	VERSION
parents 48a943e9 4142754c
...@@ -34,7 +34,7 @@ The most important thing is making sure valid issues receive feedback from the d ...@@ -34,7 +34,7 @@ The most important thing is making sure valid issues receive feedback from the d
## Workflow labels ## Workflow labels
Workflow labels are purposely not very detailed since that would be hard to keep updated as you would need to reevaluate them after every comment. We optionally use functional labels on demand when want to group related issues to get an overview (for example all issues related to RVM, to tackle them in one go) and to add details to the issue. Workflow labels are purposely not very detailed since that would be hard to keep updated as you would need to re-evaluate them after every comment. We optionally use functional labels on demand when want to group related issues to get an overview (for example all issues related to RVM, to tackle them in one go) and to add details to the issue.
- *Awaiting feedback*: Feedback pending from the reporter - *Awaiting feedback*: Feedback pending from the reporter
- *Awaiting confirmation of fix*: The issue should already be solved in **master** (generally you can avoid this workflow item and just close the issue right away) - *Awaiting confirmation of fix*: The issue should already be solved in **master** (generally you can avoid this workflow item and just close the issue right away)
...@@ -61,7 +61,7 @@ If an issue is complex and needs the attention of a specific person, assignment ...@@ -61,7 +61,7 @@ If an issue is complex and needs the attention of a specific person, assignment
## Be kind ## Be kind
Be kind to people trying to contribute. Be aware that people can be a non-native or a native English speaker, they might not understand thing or they might be very sensitive to how your word things. Use emoji to express your feelings (heart, star, smile, etc.). Some good tips about giving feedback to merge requests is in the [Thoughtbot code review guide](https://github.com/thoughtbot/guides/tree/master/code-review). Be kind to people trying to contribute. Be aware that people may be a non-native English speaker, they might not understand things or they might be very sensitive as to how you word things. Use Emoji to express your feelings (heart, star, smile, etc.). Some good tips about giving feedback to merge requests is in the [Thoughtbot code review guide](https://github.com/thoughtbot/guides/tree/master/code-review).
## Copy & paste responses ## Copy & paste responses
......
7.2.0-ee.pre 7.2.0.rc1-ee
...@@ -133,7 +133,7 @@ Settings.backup['path'] = File.expand_path(Settings.backup['path'] || "t ...@@ -133,7 +133,7 @@ Settings.backup['path'] = File.expand_path(Settings.backup['path'] || "t
# Git # Git
# #
Settings['git'] ||= Settingslogic.new({}) Settings['git'] ||= Settingslogic.new({})
Settings.git['max_size'] ||= 5242880 # 5.megabytes Settings.git['max_size'] ||= 20971520 # 20.megabytes
Settings.git['bin_path'] ||= '/usr/bin/git' Settings.git['bin_path'] ||= '/usr/bin/git'
Settings.git['timeout'] ||= 10 Settings.git['timeout'] ||= 10
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
## Introduction ## Introduction
All API requests require authentication. You need to pass a `private_token` parameter by url or header. If passed as header, the header name must be "PRIVATE-TOKEN" (capital and with dash instead of underscore). You can find or reset your private token in your profile. All API requests require authentication. You need to pass a `private_token` parameter by URL or header. If passed as header, the header name must be "PRIVATE-TOKEN" (capital and with dash instead of underscore). You can find or reset your private token in your profile.
If no, or an invalid, `private_token` is provided then an error message will be returned with status code 401: If no, or an invalid, `private_token` is provided then an error message will be returned with status code 401:
...@@ -65,14 +65,14 @@ API request types: ...@@ -65,14 +65,14 @@ API request types:
- `GET` requests access one or more resources and return the result as JSON - `GET` requests access one or more resources and return the result as JSON
- `POST` requests return `201 Created` if the resource is successfully created and return the newly created resource as JSON - `POST` requests return `201 Created` if the resource is successfully created and return the newly created resource as JSON
- `GET`, `PUT` and `DELETE` return `200 Ok` if the resource is accessed, modified or deleted successfully, the (modified) result is returned as JSON - `GET`, `PUT` and `DELETE` return `200 OK` if the resource is accessed, modified or deleted successfully, the (modified) result is returned as JSON
- `DELETE` requests are designed to be idempotent, meaning a request a resource still returns `200 Ok` even it was deleted before or is not available. The reasoning behind it is the user is not really interested if the resource existed before or not. - `DELETE` requests are designed to be idempotent, meaning a request a resource still returns `200 OK` even it was deleted before or is not available. The reasoning behind it is the user is not really interested if the resource existed before or not.
The following list shows the possible return codes for API requests. The following list shows the possible return codes for API requests.
Return values: Return values:
- `200 Ok` - The `GET`, `PUT` or `DELETE` request was successful, the resource(s) itself is returned as JSON - `200 OK` - The `GET`, `PUT` or `DELETE` request was successful, the resource(s) itself is returned as JSON
- `201 Created` - The `POST` request was successful and the resource is returned as JSON - `201 Created` - The `POST` request was successful and the resource is returned as JSON
- `400 Bad Request` - A required attribute of the API request is missing, e.g. the title of an issue is not given - `400 Bad Request` - A required attribute of the API request is missing, e.g. the title of an issue is not given
- `401 Unauthorized` - The user is not authenticated, a valid user token is necessary, see above - `401 Unauthorized` - The user is not authenticated, a valid user token is necessary, see above
......
...@@ -41,7 +41,6 @@ Parameters: ...@@ -41,7 +41,6 @@ Parameters:
] ]
``` ```
## Get single repository branch ## Get single repository branch
Get a single project repository branch. Get a single project repository branch.
...@@ -85,7 +84,7 @@ Parameters: ...@@ -85,7 +84,7 @@ Parameters:
## Protect repository branch ## Protect repository branch
Protects a single project repository branch. This is an idempotent function, protecting an already Protects a single project repository branch. This is an idempotent function, protecting an already
protected repository branch still returns a `200 Ok` status code. protected repository branch still returns a `200 OK` status code.
``` ```
PUT /projects/:id/repository/branches/:branch/protect PUT /projects/:id/repository/branches/:branch/protect
...@@ -126,7 +125,7 @@ Parameters: ...@@ -126,7 +125,7 @@ Parameters:
## Unprotect repository branch ## Unprotect repository branch
Unprotects a single project repository branch. This is an idempotent function, unprotecting an already Unprotects a single project repository branch. This is an idempotent function, unprotecting an already
unprotected repository branch still returns a `200 Ok` status code. unprotected repository branch still returns a `200 OK` status code.
``` ```
PUT /projects/:id/repository/branches/:branch/unprotect PUT /projects/:id/repository/branches/:branch/unprotect
...@@ -199,14 +198,13 @@ Parameters: ...@@ -199,14 +198,13 @@ Parameters:
## Delete repository branch ## Delete repository branch
``` ```
DELETE /projects/:id/repository/branches/:branch DELETE /projects/:id/repository/branches/:branch
``` ```
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `branch` (required) - The name of the branch - `branch` (required) - The name of the branch
It return 200 if succeed or 405 if failed with error message explaining reason. It return 200 if succeed or 405 if failed with error message explaining reason.
...@@ -19,7 +19,6 @@ GET /groups ...@@ -19,7 +19,6 @@ GET /groups
] ]
``` ```
## Details of a group ## Details of a group
Get all details of a group. Get all details of a group.
...@@ -30,8 +29,7 @@ GET /groups/:id ...@@ -30,8 +29,7 @@ GET /groups/:id
Parameters: Parameters:
+ `id` (required) - The ID of a group - `id` (required) - The ID of a group
## New group ## New group
...@@ -43,8 +41,8 @@ POST /groups ...@@ -43,8 +41,8 @@ POST /groups
Parameters: Parameters:
+ `name` (required) - The name of the group - `name` (required) - The name of the group
+ `path` (required) - The path of the group - `path` (required) - The path of the group
## Transfer project to group ## Transfer project to group
...@@ -55,9 +53,9 @@ POST /groups/:id/projects/:project_id ...@@ -55,9 +53,9 @@ POST /groups/:id/projects/:project_id
``` ```
Parameters: Parameters:
+ `id` (required) - The ID of a group
+ `project_id` (required) - The ID of a project
- `id` (required) - The ID of a group
- `project_id` (required) - The ID of a project
## Remove group ## Remove group
...@@ -69,22 +67,20 @@ DELETE /groups/:id ...@@ -69,22 +67,20 @@ DELETE /groups/:id
Parameters: Parameters:
+ `id` (required) - The ID of a user group - `id` (required) - The ID of a user group
## Group members ## Group members
**Group access levels** **Group access levels**
The group access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized: The group access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized:
``` ```
GUEST = 10 GUEST = 10
REPORTER = 20 REPORTER = 20
DEVELOPER = 30 DEVELOPER = 30
MASTER = 40 MASTER = 40
OWNER = 50 OWNER = 50
``` ```
### List group members ### List group members
...@@ -128,10 +124,9 @@ POST /groups/:id/members ...@@ -128,10 +124,9 @@ POST /groups/:id/members
Parameters: Parameters:
+ `id` (required) - The ID of a group - `id` (required) - The ID of a group
+ `user_id` (required) - The ID of a user to add - `user_id` (required) - The ID of a user to add
+ `access_level` (required) - Project access level - `access_level` (required) - Project access level
### Remove user team member ### Remove user team member
...@@ -143,5 +138,5 @@ DELETE /groups/:id/members/:user_id ...@@ -143,5 +138,5 @@ DELETE /groups/:id/members/:user_id
Parameters: Parameters:
+ `id` (required) - The ID of a user group - `id` (required) - The ID of a user group
+ `user_id` (required) - The ID of a group member - `user_id` (required) - The ID of a group member
...@@ -196,13 +196,13 @@ If an error occurs, an error number and a message explaining the reason is retur ...@@ -196,13 +196,13 @@ If an error occurs, an error number and a message explaining the reason is retur
Merge changes submitted with MR using this API. Merge changes submitted with MR using this API.
If merge success you get 200 OK. If merge success you get `200 OK`.
If it has some conflicts and can not be merged - you get 405 and error message 'Branch cannot be merged' If it has some conflicts and can not be merged - you get 405 and error message 'Branch cannot be merged'
If merge request is already merged or closed - you get 405 and error message 'Method Not Allowed' If merge request is already merged or closed - you get 405 and error message 'Method Not Allowed'
If you dont have permissions to accept this merge request - you get 401 If you don't have permissions to accept this merge request - you'll get a 401
``` ```
PUT /projects/:id/merge_request/:merge_request_id/merge PUT /projects/:id/merge_request/:merge_request_id/merge
......
...@@ -14,8 +14,8 @@ GET /projects/:id/issues/:issue_id/notes ...@@ -14,8 +14,8 @@ GET /projects/:id/issues/:issue_id/notes
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `issue_id` (required) - The ID of an issue - `issue_id` (required) - The ID of an issue
```json ```json
[ [
...@@ -60,10 +60,9 @@ GET /projects/:id/issues/:issue_id/notes/:note_id ...@@ -60,10 +60,9 @@ GET /projects/:id/issues/:issue_id/notes/:note_id
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `issue_id` (required) - The ID of a project issue - `issue_id` (required) - The ID of a project issue
+ `note_id` (required) - The ID of an issue note - `note_id` (required) - The ID of an issue note
### Create new issue note ### Create new issue note
...@@ -75,10 +74,9 @@ POST /projects/:id/issues/:issue_id/notes ...@@ -75,10 +74,9 @@ POST /projects/:id/issues/:issue_id/notes
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `issue_id` (required) - The ID of an issue - `issue_id` (required) - The ID of an issue
+ `body` (required) - The content of a note - `body` (required) - The content of a note
## Snippets ## Snippets
...@@ -92,9 +90,8 @@ GET /projects/:id/snippets/:snippet_id/notes ...@@ -92,9 +90,8 @@ GET /projects/:id/snippets/:snippet_id/notes
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `snippet_id` (required) - The ID of a project snippet - `snippet_id` (required) - The ID of a project snippet
### Get single snippet note ### Get single snippet note
...@@ -106,9 +103,9 @@ GET /projects/:id/snippets/:snippet_id/notes/:note_id ...@@ -106,9 +103,9 @@ GET /projects/:id/snippets/:snippet_id/notes/:note_id
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `snippet_id` (required) - The ID of a project snippet - `snippet_id` (required) - The ID of a project snippet
+ `note_id` (required) - The ID of an snippet note - `note_id` (required) - The ID of an snippet note
```json ```json
{ {
...@@ -139,10 +136,9 @@ POST /projects/:id/snippets/:snippet_id/notes ...@@ -139,10 +136,9 @@ POST /projects/:id/snippets/:snippet_id/notes
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `snippet_id` (required) - The ID of an snippet - `snippet_id` (required) - The ID of an snippet
+ `body` (required) - The content of a note - `body` (required) - The content of a note
## Merge Requests ## Merge Requests
...@@ -156,9 +152,8 @@ GET /projects/:id/merge_requests/:merge_request_id/notes ...@@ -156,9 +152,8 @@ GET /projects/:id/merge_requests/:merge_request_id/notes
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `merge_request_id` (required) - The ID of a project merge request - `merge_request_id` (required) - The ID of a project merge request
### Get single merge request note ### Get single merge request note
...@@ -170,9 +165,9 @@ GET /projects/:id/merge_requests/:merge_request_id/notes/:note_id ...@@ -170,9 +165,9 @@ GET /projects/:id/merge_requests/:merge_request_id/notes/:note_id
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `merge_request_id` (required) - The ID of a project merge request - `merge_request_id` (required) - The ID of a project merge request
+ `note_id` (required) - The ID of a merge request note - `note_id` (required) - The ID of a merge request note
```json ```json
{ {
...@@ -201,7 +196,6 @@ POST /projects/:id/merge_requests/:merge_request_id/notes ...@@ -201,7 +196,6 @@ POST /projects/:id/merge_requests/:merge_request_id/notes
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `merge_request_id` (required) - The ID of a merge request - `merge_request_id` (required) - The ID of a merge request
+ `body` (required) - The content of a note - `body` (required) - The content of a note
...@@ -78,7 +78,7 @@ Parameters: ...@@ -78,7 +78,7 @@ Parameters:
## Delete snippet ## Delete snippet
Deletes an existing project snippet. This is an idempotent function and deleting a non-existent Deletes an existing project snippet. This is an idempotent function and deleting a non-existent
snippet still returns a `200 Ok` status code. snippet still returns a `200 OK` status code.
``` ```
DELETE /projects/:id/snippets/:snippet_id DELETE /projects/:id/snippets/:snippet_id
......
# Projects # Projects
### List projects ## List projects
Get a list of projects accessible by the authenticated user. Get a list of projects accessible by the authenticated user.
...@@ -10,7 +10,7 @@ GET /projects ...@@ -10,7 +10,7 @@ GET /projects
Parameters: Parameters:
+ `archived` (optional) - if passed, limit by archived status - `archived` (optional) - if passed, limit by archived status
```json ```json
[ [
...@@ -87,8 +87,7 @@ Parameters: ...@@ -87,8 +87,7 @@ Parameters:
] ]
``` ```
### List owned projects
#### List owned projects
Get a list of projects which are owned by the authenticated user. Get a list of projects which are owned by the authenticated user.
...@@ -96,7 +95,7 @@ Get a list of projects which are owned by the authenticated user. ...@@ -96,7 +95,7 @@ Get a list of projects which are owned by the authenticated user.
GET /projects/owned GET /projects/owned
``` ```
#### List ALL projects ### List ALL projects
Get a list of all GitLab projects (admin only). Get a list of all GitLab projects (admin only).
...@@ -115,7 +114,7 @@ GET /projects/:id ...@@ -115,7 +114,7 @@ GET /projects/:id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
```json ```json
{ {
...@@ -176,7 +175,7 @@ GET /projects/:id/events ...@@ -176,7 +175,7 @@ GET /projects/:id/events
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
```json ```json
[ [
...@@ -238,7 +237,6 @@ Parameters: ...@@ -238,7 +237,6 @@ Parameters:
] ]
``` ```
### Create project ### Create project
Creates a new project owned by the authenticated user. Creates a new project owned by the authenticated user.
...@@ -249,17 +247,16 @@ POST /projects ...@@ -249,17 +247,16 @@ POST /projects
Parameters: Parameters:
+ `name` (required) - new project name - `name` (required) - new project name
+ `namespace_id` (optional) - namespace for the new project (defaults to user) - `namespace_id` (optional) - namespace for the new project (defaults to user)
+ `description` (optional) - short project description - `description` (optional) - short project description
+ `issues_enabled` (optional) - `issues_enabled` (optional)
+ `merge_requests_enabled` (optional) - `merge_requests_enabled` (optional)
+ `wiki_enabled` (optional) - `wiki_enabled` (optional)
+ `snippets_enabled` (optional) - `snippets_enabled` (optional)
+ `public` (optional) - if `true` same as setting visibility_level = 20 - `public` (optional) - if `true` same as setting visibility_level = 20
+ `visibility_level` (optional) - `visibility_level` (optional)
* `import_url` (optional) - `import_url` (optional)
### Create project for user ### Create project for user
...@@ -271,20 +268,19 @@ POST /projects/user/:user_id ...@@ -271,20 +268,19 @@ POST /projects/user/:user_id
Parameters: Parameters:
+ `user_id` (required) - user_id of owner - `user_id` (required) - user_id of owner
+ `name` (required) - new project name - `name` (required) - new project name
+ `description` (optional) - short project description - `description` (optional) - short project description
+ `default_branch` (optional) - 'master' by default - `default_branch` (optional) - 'master' by default
+ `issues_enabled` (optional) - `issues_enabled` (optional)
+ `merge_requests_enabled` (optional) - `merge_requests_enabled` (optional)
+ `wiki_enabled` (optional) - `wiki_enabled` (optional)
+ `snippets_enabled` (optional) - `snippets_enabled` (optional)
+ `public` (optional) - if `true` same as setting visibility_level = 20 - `public` (optional) - if `true` same as setting visibility_level = 20
+ `visibility_level` (optional) - `visibility_level` (optional)
* `import_url` (optional) - `import_url` (optional)
### Remove project
## Remove project
Removes a project including all associated resources (issues, merge requests etc.) Removes a project including all associated resources (issues, merge requests etc.)
...@@ -294,8 +290,7 @@ DELETE /projects/:id ...@@ -294,8 +290,7 @@ DELETE /projects/:id
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
## Team members ## Team members
...@@ -309,9 +304,8 @@ GET /projects/:id/members ...@@ -309,9 +304,8 @@ GET /projects/:id/members
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `query` (optional) - Query string to search for members - `query` (optional) - Query string to search for members
### Get project team member ### Get project team member
...@@ -323,8 +317,8 @@ GET /projects/:id/members/:user_id ...@@ -323,8 +317,8 @@ GET /projects/:id/members/:user_id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `user_id` (required) - The ID of a user - `user_id` (required) - The ID of a user
```json ```json
{ {
...@@ -338,7 +332,6 @@ Parameters: ...@@ -338,7 +332,6 @@ Parameters:
} }
``` ```
### Add project team member ### Add project team member
Adds a user to a project team. This is an idempotent method and can be called multiple times Adds a user to a project team. This is an idempotent method and can be called multiple times
...@@ -351,10 +344,9 @@ POST /projects/:id/members ...@@ -351,10 +344,9 @@ POST /projects/:id/members
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `user_id` (required) - The ID of a user to add - `user_id` (required) - The ID of a user to add
+ `access_level` (required) - Project access level - `access_level` (required) - Project access level
### Edit project team member ### Edit project team member
...@@ -366,10 +358,9 @@ PUT /projects/:id/members/:user_id ...@@ -366,10 +358,9 @@ PUT /projects/:id/members/:user_id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `user_id` (required) - The ID of a team member - `user_id` (required) - The ID of a team member
+ `access_level` (required) - Project access level - `access_level` (required) - Project access level
### Remove project team member ### Remove project team member
...@@ -381,15 +372,14 @@ DELETE /projects/:id/members/:user_id ...@@ -381,15 +372,14 @@ DELETE /projects/:id/members/:user_id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `user_id` (required) - The ID of a team member - `user_id` (required) - The ID of a team member
This method is idempotent and can be called multiple times with the same parameters. This method is idempotent and can be called multiple times with the same parameters.
Revoking team membership for a user who is not currently a team member is considered success. Revoking team membership for a user who is not currently a team member is considered success.
Please note that the returned JSON currently differs slightly. Thus you should not Please note that the returned JSON currently differs slightly. Thus you should not
rely on the returned JSON structure. rely on the returned JSON structure.
## Hooks ## Hooks
### List project hooks ### List project hooks
...@@ -402,8 +392,7 @@ GET /projects/:id/hooks ...@@ -402,8 +392,7 @@ GET /projects/:id/hooks
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
### Get project hook ### Get project hook
...@@ -415,8 +404,8 @@ GET /projects/:id/hooks/:hook_id ...@@ -415,8 +404,8 @@ GET /projects/:id/hooks/:hook_id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `hook_id` (required) - The ID of a project hook - `hook_id` (required) - The ID of a project hook
```json ```json
{ {
...@@ -430,7 +419,6 @@ Parameters: ...@@ -430,7 +419,6 @@ Parameters:
} }
``` ```
### Add project hook ### Add project hook
Adds a hook to a specified project. Adds a hook to a specified project.
...@@ -441,12 +429,11 @@ POST /projects/:id/hooks ...@@ -441,12 +429,11 @@ POST /projects/:id/hooks
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `url` (required) - The hook URL - `url` (required) - The hook URL
+ `push_events` - Trigger hook on push events - `push_events` - Trigger hook on push events
+ `issues_events` - Trigger hook on issues events - `issues_events` - Trigger hook on issues events
+ `merge_requests_events` - Trigger hook on merge_requests events - `merge_requests_events` - Trigger hook on merge_requests events
### Edit project hook ### Edit project hook
...@@ -458,13 +445,12 @@ PUT /projects/:id/hooks/:hook_id ...@@ -458,13 +445,12 @@ PUT /projects/:id/hooks/:hook_id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `hook_id` (required) - The ID of a project hook - `hook_id` (required) - The ID of a project hook
+ `url` (required) - The hook URL - `url` (required) - The hook URL
+ `push_events` - Trigger hook on push events - `push_events` - Trigger hook on push events
+ `issues_events` - Trigger hook on issues events - `issues_events` - Trigger hook on issues events
+ `merge_requests_events` - Trigger hook on merge_requests events - `merge_requests_events` - Trigger hook on merge_requests events
### Delete project hook ### Delete project hook
...@@ -477,13 +463,12 @@ DELETE /projects/:id/hooks/:hook_id ...@@ -477,13 +463,12 @@ DELETE /projects/:id/hooks/:hook_id
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `hook_id` (required) - The ID of hook to delete - `hook_id` (required) - The ID of hook to delete
Note the JSON response differs if the hook is available or not. If the project hook Note the JSON response differs if the hook is available or not. If the project hook
is available before it is returned in the JSON response or an empty response is returned. is available before it is returned in the JSON response or an empty response is returned.
## Branches ## Branches
### List branches ### List branches
...@@ -496,7 +481,7 @@ GET /projects/:id/repository/branches ...@@ -496,7 +481,7 @@ GET /projects/:id/repository/branches
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
```json ```json
[ [
...@@ -561,9 +546,8 @@ GET /projects/:id/repository/branches/:branch ...@@ -561,9 +546,8 @@ GET /projects/:id/repository/branches/:branch
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `branch` (required) - The name of the branch. - `branch` (required) - The name of the branch.
### Protect single branch ### Protect single branch
...@@ -575,9 +559,8 @@ PUT /projects/:id/repository/branches/:branch/protect ...@@ -575,9 +559,8 @@ PUT /projects/:id/repository/branches/:branch/protect
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `branch` (required) - The name of the branch. - `branch` (required) - The name of the branch.
### Unprotect single branch ### Unprotect single branch
...@@ -589,9 +572,8 @@ PUT /projects/:id/repository/branches/:branch/unprotect ...@@ -589,9 +572,8 @@ PUT /projects/:id/repository/branches/:branch/unprotect
Parameters: Parameters:
+ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project - `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+ `branch` (required) - The name of the branch. - `branch` (required) - The name of the branch.
## Admin fork relation ## Admin fork relation
...@@ -605,8 +587,8 @@ POST /projects/:id/fork/:forked_from_id ...@@ -605,8 +587,8 @@ POST /projects/:id/fork/:forked_from_id
Parameters: Parameters:
+ `id` (required) - The ID of the project - `id` (required) - The ID of the project
+ `forked_from_id:` (required) - The ID of the project that was forked from - `forked_from_id:` (required) - The ID of the project that was forked from
### Delete an existing forked from relationship ### Delete an existing forked from relationship
...@@ -616,8 +598,7 @@ DELETE /projects/:id/fork ...@@ -616,8 +598,7 @@ DELETE /projects/:id/fork
Parameter: Parameter:
+ `id` (required) - The ID of the project - `id` (required) - The ID of the project
## Search for projects by name ## Search for projects by name
...@@ -629,6 +610,6 @@ GET /projects/search/:query ...@@ -629,6 +610,6 @@ GET /projects/search/:query
Parameters: Parameters:
+ query (required) - A string contained in the project name - query (required) - A string contained in the project name
+ per_page (optional) - number of projects to return per page - per_page (optional) - number of projects to return per page
+ page (optional) - the page to retrieve - page (optional) - the page to retrieve
...@@ -10,7 +10,7 @@ GET /projects/:id/repository/tags ...@@ -10,7 +10,7 @@ GET /projects/:id/repository/tags
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
```json ```json
[ [
...@@ -47,9 +47,9 @@ POST /projects/:id/repository/tags ...@@ -47,9 +47,9 @@ POST /projects/:id/repository/tags
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `tag_name` (required) - The name of a tag - `tag_name` (required) - The name of a tag
+ `ref` (required) - Create tag using commit SHA, another tag name, or branch name. - `ref` (required) - Create tag using commit SHA, another tag name, or branch name.
```json ```json
[ [
...@@ -81,9 +81,9 @@ GET /projects/:id/repository/tree ...@@ -81,9 +81,9 @@ GET /projects/:id/repository/tree
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `path` (optional) - The path inside repository. Used to get contend of subdirectories - `path` (optional) - The path inside repository. Used to get contend of subdirectories
+ `ref_name` (optional) - The name of a repository branch or tag or if not given the default branch - `ref_name` (optional) - The name of a repository branch or tag or if not given the default branch
```json ```json
[ [
...@@ -126,7 +126,6 @@ Parameters: ...@@ -126,7 +126,6 @@ Parameters:
] ]
``` ```
## Raw file content ## Raw file content
Get the raw file contents for a file by commit SHA and path. Get the raw file contents for a file by commit SHA and path.
...@@ -137,10 +136,9 @@ GET /projects/:id/repository/blobs/:sha ...@@ -137,10 +136,9 @@ GET /projects/:id/repository/blobs/:sha
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `sha` (required) - The commit or branch name - `sha` (required) - The commit or branch name
+ `filepath` (required) - The path the file - `filepath` (required) - The path the file
## Raw blob content ## Raw blob content
...@@ -152,22 +150,21 @@ GET /projects/:id/repository/raw_blobs/:sha ...@@ -152,22 +150,21 @@ GET /projects/:id/repository/raw_blobs/:sha
Parameters: Parameters:
+ `id` (required) - The ID of a project - `id` (required) - The ID of a project
+ `sha` (required) - The blob SHA - `sha` (required) - The blob SHA
## Get file archive ## Get file archive
Get a an archive of the repository Get an archive of the repository
``` ```
GET /projects/:id/repository/archive GET /projects/:id/repository/archive
``` ```
Parameters: Parameters:
+ `id` (required) - The ID of a project
+ `sha` (optional) - The commit SHA to download defaults to the tip of the default branch
- `id` (required) - The ID of a project
- `sha` (optional) - The commit SHA to download defaults to the tip of the default branch
## Compare branches, tags or commits ## Compare branches, tags or commits
...@@ -176,10 +173,10 @@ GET /projects/:id/repository/compare ...@@ -176,10 +173,10 @@ GET /projects/:id/repository/compare
``` ```
Parameters: Parameters:
+ `id` (required) - The ID of a project
+ `from` (required) - the commit SHA or branch name
+ `to` (required) - the commit SHA or branch name
- `id` (required) - The ID of a project
- `from` (required) - the commit SHA or branch name
- `to` (required) - the commit SHA or branch name
``` ```
GET /projects/:id/repository/compare?from=master&to=feature GET /projects/:id/repository/compare?from=master&to=feature
...@@ -230,7 +227,8 @@ GET /projects/:id/repository/contributors ...@@ -230,7 +227,8 @@ GET /projects/:id/repository/contributors
``` ```
Parameters: Parameters:
+ `id` (required) - The ID of a project
- `id` (required) - The ID of a project
Response: Response:
......
# Repository files # Repository files
## CRUD for repository files **CRUD for repository files**
## Create, read, update and delete repository files using this API **Create, read, update and delete repository files using this API**
---
## Get file from repository ## Get file from repository
......
...@@ -8,12 +8,12 @@ POST /session ...@@ -8,12 +8,12 @@ POST /session
Parameters: Parameters:
+ `login` (required) - The login of user - `login` (required) - The login of user
+ `email` (required if login missing) - The email of user - `email` (required if login missing) - The email of user
+ `password` (required) - Valid password - `password` (required) - Valid password
**You can login with both GitLab and LDAP credentials now**
__You can login with both GitLab and LDAP credentials now__
```json ```json
{ {
......
...@@ -59,7 +59,7 @@ Parameters: ...@@ -59,7 +59,7 @@ Parameters:
## Delete system hook ## Delete system hook
Deletes a system hook. This is an idempotent API function and returns `200 Ok` even if the hook is not available. If the hook is deleted it is also returned as JSON. Deletes a system hook. This is an idempotent API function and returns `200 OK` even if the hook is not available. If the hook is deleted it is also returned as JSON.
``` ```
DELETE /hooks/:id DELETE /hooks/:id
......
...@@ -202,7 +202,7 @@ e.g. when renaming the email address to some existing one. ...@@ -202,7 +202,7 @@ e.g. when renaming the email address to some existing one.
Deletes a user. Available only for administrators. Deletes a user. Available only for administrators.
This is an idempotent function, calling this function for a non-existent user id This is an idempotent function, calling this function for a non-existent user id
still returns a status code `200 Ok`. still returns a status code `200 OK`.
The JSON response differs if the user was actually deleted or not. The JSON response differs if the user was actually deleted or not.
In the former the user is returned and in the latter not. In the former the user is returned and in the latter not.
...@@ -336,7 +336,7 @@ Will return created key with status `201 Created` on success, or `404 Not found` ...@@ -336,7 +336,7 @@ Will return created key with status `201 Created` on success, or `404 Not found`
Deletes key owned by currently authenticated user. Deletes key owned by currently authenticated user.
This is an idempotent function and calling it on a key that is already deleted This is an idempotent function and calling it on a key that is already deleted
or not available results in `200 Ok`. or not available results in `200 OK`.
``` ```
DELETE /user/keys/:id DELETE /user/keys/:id
...@@ -359,4 +359,4 @@ Parameters: ...@@ -359,4 +359,4 @@ Parameters:
- `uid` (required) - id of specified user - `uid` (required) - id of specified user
- `id` (required) - SSH key ID - `id` (required) - SSH key ID
Will return `200 Ok` on success, or `404 Not found` if either user or key cannot be found. Will return `200 OK` on success, or `404 Not found` if either user or key cannot be found.
...@@ -23,6 +23,7 @@ If a user is a GitLab administrator they receive all permissions. ...@@ -23,6 +23,7 @@ If a user is a GitLab administrator they receive all permissions.
| Add tags | | | ✓ | ✓ | ✓ | | Add tags | | | ✓ | ✓ | ✓ |
| Write a wiki | | | ✓ | ✓ | ✓ | | Write a wiki | | | ✓ | ✓ | ✓ |
| Manage issue tracker | | | ✓ | ✓ | ✓ | | Manage issue tracker | | | ✓ | ✓ | ✓ |
| Manage labels | | | ✓ | ✓ | ✓ |
| Create new milestones | | | | ✓ | ✓ | | Create new milestones | | | | ✓ | ✓ |
| Add new team members | | | | ✓ | ✓ | | Add new team members | | | | ✓ | ✓ |
| Push to protected branches | | | | ✓ | ✓ | | Push to protected branches | | | | ✓ | ✓ |
......
...@@ -24,6 +24,7 @@ module API ...@@ -24,6 +24,7 @@ module API
# Example Request: # Example Request:
# POST /projects/:id/labels # POST /projects/:id/labels
post ':id/labels' do post ':id/labels' do
authorize! :admin_label, user_project
required_attributes! [:name, :color] required_attributes! [:name, :color]
attrs = attributes_for_keys [:name, :color] attrs = attributes_for_keys [:name, :color]
...@@ -51,6 +52,7 @@ module API ...@@ -51,6 +52,7 @@ module API
# Example Request: # Example Request:
# DELETE /projects/:id/labels # DELETE /projects/:id/labels
delete ':id/labels' do delete ':id/labels' do
authorize! :admin_label, user_project
required_attributes! [:name] required_attributes! [:name]
label = user_project.find_label(params[:name]) label = user_project.find_label(params[:name])
...@@ -71,6 +73,7 @@ module API ...@@ -71,6 +73,7 @@ module API
# Example Request: # Example Request:
# PUT /projects/:id/labels # PUT /projects/:id/labels
put ':id/labels' do put ':id/labels' do
authorize! :admin_label, user_project
required_attributes! [:name] required_attributes! [:name]
label = user_project.find_label(params[:name]) label = user_project.find_label(params[:name])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment