3b3add35fb
The API documentation of merge requests contains info to status codes for all functions. Required arguments are now checked in the merge requests API functions and a `400 Bad Request` error is returned if they are not given.
241 lines
5.3 KiB
Markdown
241 lines
5.3 KiB
Markdown
## List merge requests
|
|
|
|
Get all merge requests for this project. This function takes pagination parameters
|
|
`page` and `per_page` to restrict the list of merge requests.
|
|
|
|
```
|
|
GET /projects/:id/merge_requests
|
|
```
|
|
|
|
Parameters:
|
|
|
|
+ `id` (required) - The ID of a project
|
|
|
|
```json
|
|
[
|
|
{
|
|
"id":1,
|
|
"target_branch":"master",
|
|
"source_branch":"test1",
|
|
"project_id":3,
|
|
"title":"test1",
|
|
"closed":true,
|
|
"merged":false,
|
|
"author":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
]
|
|
```
|
|
|
|
Return values:
|
|
|
|
+ `200 Ok` on success and the list of merge requests
|
|
+ `401 Unauthorized` if user is not authenticated
|
|
+ `404 Not Found` if project ID not found
|
|
|
|
|
|
## Get single MR
|
|
|
|
Shows information about a single merge request.
|
|
|
|
```
|
|
GET /projects/:id/merge_request/:merge_request_id
|
|
```
|
|
|
|
Parameters:
|
|
|
|
+ `id` (required) - The ID of a project
|
|
+ `merge_request_id` (required) - The ID of MR
|
|
|
|
```json
|
|
{
|
|
"id":1,
|
|
"target_branch":"master",
|
|
"source_branch":"test1",
|
|
"project_id":3,
|
|
"title":"test1",
|
|
"closed":true,
|
|
"merged":false,
|
|
"author":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
```
|
|
|
|
Return values:
|
|
|
|
+ `200 Ok` on success and the single merge request
|
|
+ `401 Unauthorized` if user is not authenticated
|
|
+ `404 Not Found` if project ID or merge request ID not found
|
|
|
|
|
|
## Create MR
|
|
|
|
Creates a new merge request.
|
|
|
|
```
|
|
POST /projects/:id/merge_requests
|
|
```
|
|
|
|
Parameters:
|
|
|
|
+ `id` (required) - The ID of a project
|
|
+ `source_branch` (required) - The source branch
|
|
+ `target_branch` (required) - The target branch
|
|
+ `assignee_id` - Assignee user ID
|
|
+ `title` (required) - Title of MR
|
|
|
|
```json
|
|
{
|
|
"id":1,
|
|
"target_branch":"master",
|
|
"source_branch":"test1",
|
|
"project_id":3,
|
|
"title":"test1",
|
|
"closed":true,
|
|
"merged":false,
|
|
"author":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
```
|
|
|
|
Return values:
|
|
|
|
+ `201 Created` on success and the created merge request
|
|
+ `400 Bad Request` if one of the required attributes is missing
|
|
+ `401 Unauthorize` if user is not authenticated or not allowed
|
|
+ `403 Forbidden` if user is not allowed to create a merge request
|
|
+ `404 Not Found` if project ID not found or something else fails
|
|
|
|
|
|
## Update MR
|
|
|
|
Updates an existing merge request. You can change branches, title, or even close the MR.
|
|
|
|
```
|
|
PUT /projects/:id/merge_request/:merge_request_id
|
|
```
|
|
|
|
Parameters:
|
|
|
|
+ `id` (required) - The ID of a project
|
|
+ `merge_request_id` (required) - ID of MR
|
|
+ `source_branch` - The source branch
|
|
+ `target_branch` - The target branch
|
|
+ `assignee_id` - Assignee user ID
|
|
+ `title` - Title of MR
|
|
+ `closed` - Status of MR. true - closed
|
|
|
|
|
|
```json
|
|
{
|
|
"id":1,
|
|
"target_branch":"master",
|
|
"source_branch":"test1",
|
|
"project_id":3,
|
|
"title":"test1",
|
|
"closed":true,
|
|
"merged":false,
|
|
"author":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
```
|
|
|
|
Return values:
|
|
|
|
+ `200 Ok` on success and the updated merge request
|
|
+ `401 Unauthorize` if user is not authenticated or not allowed
|
|
+ `403 Forbidden` if user is not allowed to update the merge request
|
|
+ `404 Not Found` if project ID or merge request ID not found
|
|
|
|
|
|
## Post comment to MR
|
|
|
|
Adds a comment to a merge request.
|
|
|
|
```
|
|
POST /projects/:id/merge_request/:merge_request_id/comments
|
|
```
|
|
|
|
Parameters:
|
|
|
|
+ `id` (required) - The ID of a project
|
|
+ `merge_request_id` (required) - ID of merge request
|
|
+ `note` (required) - Text of comment
|
|
|
|
|
|
```json
|
|
{
|
|
"author":{
|
|
"id":1,
|
|
"username": "admin",
|
|
"email":"admin@local.host",
|
|
"name":"Administrator",
|
|
"blocked":false,
|
|
"created_at":"2012-04-29T08:46:00Z"
|
|
},
|
|
"note":"text1"
|
|
}
|
|
```
|
|
|
|
Return values:
|
|
|
|
+ `201 Created` on success and the new comment
|
|
+ `400 Bad Request` if the required attribute note is not given
|
|
+ `401 Unauthorized` if user is not authenticated
|
|
+ `404 Not Found` if project ID or merge request ID not found
|