Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
77bc1101
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
77bc1101
编写于
10月 22, 2012
作者:
V
Valeriy Sizov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
API: help page and comment
上级
6ffd2f3d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
248 addition
and
6 deletion
+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
未找到文件。
doc/api/merge_requests.md
0 → 100644
浏览文件 @
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
浏览文件 @
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
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录