Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
77bc1101
Commit
77bc1101
authored
Oct 22, 2012
by
Valeriy Sizov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
API: help page and comment
parent
6ffd2f3d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
248 additions
and
6 deletions
+248
-6
doc/api/merge_requests.md
doc/api/merge_requests.md
+194
-0
lib/api/merge_requests.rb
lib/api/merge_requests.rb
+54
-6
No files found.
doc/api/merge_requests.md
0 → 100644
View file @
77bc1101
## List merge requests
Get all MR for this project.
```
GET /:id/merge_requests
```
Parameters:
+
`id`
(required) - The ID or code name of a project
```
json
[
{
"id"
:
1
,
"target_branch"
:
"master"
,
"source_branch"
:
"test1"
,
"project_id"
:
3
,
"title"
:
"test1"
,
"closed"
:
true
,
"merged"
:
false
,
"author"
:{
"id"
:
1
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
},
"assignee"
:{
"id"
:
1
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
}
}
]
```
## Show MR
Show information about MR.
```
GET /:id/merge_request/:merge_request_id
```
Parameters:
+
`id`
(required) - The ID or code name 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
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
},
"assignee"
:{
"id"
:
1
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
}
}
```
## Create MR
Create MR.
```
POST /:id/merge_requests
```
Parameters:
+
`id`
(required) - The ID or code name 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
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
},
"assignee"
:{
"id"
:
1
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
}
}
```
## Update MR
Update MR. You can change branches, title, or even close the MR.
```
PUT /:id/merge_request/:merge_request_id
```
Parameters:
+
`id`
(required) - The ID or code name 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
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
},
"assignee"
:{
"id"
:
1
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
}
}
```
## Post comment to MR
Post comment to MR
```
POST /:id/merge_request/:merge_request_id/comments
```
Parameters:
+
`id`
(required) - The ID or code name of a project
+
`merge_request_id`
(required) - ID of MR
+
`note`
(required) - Text of comment
Will return created note with status
`201 Created`
on success, or
`404 Not found`
on fail.
```
json
{
"author"
:{
"id"
:
1
,
"email"
:
"admin@local.host"
,
"name"
:
"Administrator"
,
"blocked"
:
false
,
"created_at"
:
"2012-04-29T08:46:00Z"
},
"note"
:
"text1"
}
```
lib/api/merge_requests.rb
View file @
77bc1101
...
...
@@ -4,14 +4,30 @@ module Gitlab
before
{
authenticate!
}
resource
:projects
do
#list
# List merge requests
#
# Parameters:
# id (required) - The ID or code name of a project
#
# Example:
# GET /:id/merge_requests
#
get
":id/merge_requests"
do
authorize!
:read_merge_request
,
user_project
present
user_project
.
merge_requests
,
with:
Entities
::
MergeRequest
present
paginate
(
user_project
.
merge_requests
)
,
with:
Entities
::
MergeRequest
end
#show
# Show MR
#
# Parameters:
# id (required) - The ID or code name of a project
# merge_request_id (required) - The ID of MR
#
# Example:
# GET /:id/merge_request/:merge_request_id
#
get
":id/merge_request/:merge_request_id"
do
merge_request
=
user_project
.
merge_requests
.
find
(
params
[
:merge_request_id
])
...
...
@@ -20,7 +36,19 @@ module Gitlab
present
merge_request
,
with:
Entities
::
MergeRequest
end
#create merge_request
# Create MR
#
# Parameters:
#
# id (required) - The ID or code name 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
#
# Example:
# POST /:id/merge_requests
#
post
":id/merge_requests"
do
attrs
=
attributes_for_keys
[
:source_branch
,
:target_branch
,
:assignee_id
,
:title
]
merge_request
=
user_project
.
merge_requests
.
new
(
attrs
)
...
...
@@ -36,7 +64,19 @@ module Gitlab
end
end
#update merge_request
# Update MR
#
# Parameters:
# id (required) - The ID or code name 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
# Example:
# PUT /:id/merge_request/:merge_request_id
#
put
":id/merge_request/:merge_request_id"
do
attrs
=
attributes_for_keys
[
:source_branch
,
:target_branch
,
:assignee_id
,
:title
,
:closed
]
merge_request
=
user_project
.
merge_requests
.
find
(
params
[
:merge_request_id
])
...
...
@@ -52,7 +92,15 @@ module Gitlab
end
end
#post comment to merge request
# Post comment to merge request
#
# Parameters:
# id (required) - The ID or code name of a project
# merge_request_id (required) - ID of MR
# note (required) - Text of comment
# Examples:
# POST /:id/merge_request/:merge_request_id/comments
#
post
":id/merge_request/:merge_request_id/comments"
do
merge_request
=
user_project
.
merge_requests
.
find
(
params
[
:merge_request_id
])
note
=
merge_request
.
notes
.
new
(
note:
params
[
:note
],
project_id:
user_project
.
id
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment