Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
3328f097
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,发现更多精彩内容 >>
提交
3328f097
编写于
2月 13, 2019
作者:
R
Robert Schilling
提交者:
Rémy Coutable
2月 13, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add milestone progress to API
上级
c0fa62b5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
20 addition
and
4 deletion
+20
-4
changelogs/unreleased/50559-add-milestone-progress-to-api.yml
...gelogs/unreleased/50559-add-milestone-progress-to-api.yml
+5
-0
doc/api/group_milestones.md
doc/api/group_milestones.md
+1
-0
doc/api/milestones.md
doc/api/milestones.md
+1
-0
lib/api/entities.rb
lib/api/entities.rb
+3
-0
lib/api/milestone_responses.rb
lib/api/milestone_responses.rb
+4
-4
spec/fixtures/api/schemas/public_api/v4/milestone.json
spec/fixtures/api/schemas/public_api/v4/milestone.json
+1
-0
spec/support/api/milestones_shared_examples.rb
spec/support/api/milestones_shared_examples.rb
+5
-0
未找到文件。
changelogs/unreleased/50559-add-milestone-progress-to-api.yml
0 → 100644
浏览文件 @
3328f097
---
title
:
'
API:
Expose
milestone
progress'
merge_request
:
25173
author
:
Robert Schilling
type
:
added
doc/api/group_milestones.md
浏览文件 @
3328f097
...
...
@@ -42,6 +42,7 @@ Example Response:
"due_date"
:
"2013-11-29"
,
"start_date"
:
"2013-11-10"
,
"state"
:
"active"
,
"percentage_complete"
:
66
,
"updated_at"
:
"2013-10-02T09:24:18Z"
,
"created_at"
:
"2013-10-02T09:24:18Z"
}
...
...
doc/api/milestones.md
浏览文件 @
3328f097
...
...
@@ -39,6 +39,7 @@ Example Response:
"due_date"
:
"2013-11-29"
,
"start_date"
:
"2013-11-10"
,
"state"
:
"active"
,
"percentage_complete"
:
66
,
"updated_at"
:
"2013-10-02T09:24:18Z"
,
"created_at"
:
"2013-10-02T09:24:18Z"
}
...
...
lib/api/entities.rb
浏览文件 @
3328f097
...
...
@@ -501,6 +501,9 @@ module API
expose
:state
,
:created_at
,
:updated_at
expose
:due_date
expose
:start_date
expose
:percentage_complete
do
|
milestone
,
options
|
milestone
.
percent_complete
(
options
[
:current_user
])
end
expose
:web_url
do
|
milestone
,
_options
|
Gitlab
::
UrlBuilder
.
build
(
milestone
)
...
...
lib/api/milestone_responses.rb
浏览文件 @
3328f097
...
...
@@ -35,19 +35,19 @@ module API
milestones
=
filter_by_iid
(
milestones
,
params
[
:iids
])
if
params
[
:iids
].
present?
milestones
=
filter_by_search
(
milestones
,
params
[
:search
])
if
params
[
:search
]
present
paginate
(
milestones
),
with:
Entities
::
Milestone
present
paginate
(
milestones
),
with:
Entities
::
Milestone
,
current_user:
current_user
end
def
get_milestone_for
(
parent
)
milestone
=
parent
.
milestones
.
find
(
params
[
:milestone_id
])
present
milestone
,
with:
Entities
::
Milestone
present
milestone
,
with:
Entities
::
Milestone
,
current_user:
current_user
end
def
create_milestone_for
(
parent
)
milestone
=
::
Milestones
::
CreateService
.
new
(
parent
,
current_user
,
declared_params
).
execute
if
milestone
.
valid?
present
milestone
,
with:
Entities
::
Milestone
present
milestone
,
with:
Entities
::
Milestone
,
current_user:
current_user
else
render_api_error!
(
"Failed to create milestone
#{
milestone
.
errors
.
messages
}
"
,
400
)
end
...
...
@@ -60,7 +60,7 @@ module API
milestone
=
::
Milestones
::
UpdateService
.
new
(
parent
,
current_user
,
milestone_params
).
execute
(
milestone
)
if
milestone
.
valid?
present
milestone
,
with:
Entities
::
Milestone
present
milestone
,
with:
Entities
::
Milestone
,
current_user:
current_user
else
render_api_error!
(
"Failed to update milestone
#{
milestone
.
errors
.
messages
}
"
,
400
)
end
...
...
spec/fixtures/api/schemas/public_api/v4/milestone.json
浏览文件 @
3328f097
...
...
@@ -8,6 +8,7 @@
"title"
:
{
"type"
:
"string"
},
"description"
:
{
"type"
:
[
"string"
,
"null"
]
},
"state"
:
{
"type"
:
"string"
},
"percentage_complete"
:
{
"type"
:
"integer"
},
"created_at"
:
{
"type"
:
"date"
},
"updated_at"
:
{
"type"
:
"date"
},
"start_date"
:
{
"type"
:
"date"
},
...
...
spec/support/api/milestones_shared_examples.rb
浏览文件 @
3328f097
...
...
@@ -8,12 +8,17 @@ shared_examples_for 'group and project milestones' do |route_definition|
describe
"GET
#{
route_definition
}
"
do
it
'returns milestones list'
do
create
(
:issue
,
project:
project
,
milestone:
milestone
)
create
(
:closed_issue
,
project:
project
,
milestone:
milestone
)
create
(
:closed_issue
,
project:
project
,
milestone:
milestone
)
get
api
(
route
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
[
'title'
]).
to
eq
(
milestone
.
title
)
expect
(
json_response
.
first
[
'percentage_complete'
]).
to
eq
(
66
)
end
it
'returns a 401 error if user not authenticated'
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录