49addad7b5
Fixes: #5505
253 lines
4.8 KiB
Markdown
253 lines
4.8 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,
|
|
"iid": 1,
|
|
"target_branch": "master",
|
|
"source_branch": "test1",
|
|
"project_id": 3,
|
|
"title": "test1",
|
|
"state": "opened",
|
|
"upvotes": 0,
|
|
"downvotes": 0,
|
|
"author": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
]
|
|
```
|
|
|
|
|
|
## 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,
|
|
"iid": 1,
|
|
"target_branch": "master",
|
|
"source_branch": "test1",
|
|
"project_id": 3,
|
|
"title": "test1",
|
|
"state": "merged",
|
|
"upvotes": 0,
|
|
"downvotes": 0,
|
|
"author": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
## 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` (optional) - Assignee user ID
|
|
+ `title` (required) - Title of MR
|
|
|
|
```json
|
|
{
|
|
"id": 1,
|
|
"target_branch": "master",
|
|
"source_branch": "test1",
|
|
"project_id": 3,
|
|
"title": "test1",
|
|
"state": "opened",
|
|
"upvotes": 0,
|
|
"downvotes": 0,
|
|
"author": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
## 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
|
|
+ `state_event` - New state (close|reopen|merge)
|
|
|
|
```json
|
|
{
|
|
"id": 1,
|
|
"target_branch": "master",
|
|
"source_branch": "test1",
|
|
"project_id": 3,
|
|
"title": "test1",
|
|
"state": "opened",
|
|
"upvotes": 0,
|
|
"downvotes": 0,
|
|
"author": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
},
|
|
"assignee": {
|
|
"id": 1,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2012-04-29T08:46:00Z"
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
## 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"
|
|
}
|
|
```
|
|
|
|
|
|
## Get the comments on a MR
|
|
|
|
Gets all the comments associated with a merge request.
|
|
|
|
```
|
|
GET /projects/:id/merge_request/:merge_request_id/comments
|
|
```
|
|
|
|
Parameters:
|
|
|
|
+ `id` (required) - The ID of a project
|
|
+ `merge_request_id` (required) - ID of merge request
|
|
|
|
```json
|
|
[
|
|
{
|
|
"note": "this is the 1st comment on the 2merge merge request",
|
|
"author": {
|
|
"id": 11,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2014-03-06T08:17:35.000Z"
|
|
}
|
|
},
|
|
{
|
|
"note": "_Status changed to closed_",
|
|
"author": {
|
|
"id": 11,
|
|
"username": "admin",
|
|
"email": "admin@local.host",
|
|
"name": "Administrator",
|
|
"state": "active",
|
|
"created_at": "2014-03-06T08:17:35.000Z"
|
|
}
|
|
}
|
|
]
|
|
```
|