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
08e0c0b6
Commit
08e0c0b6
authored
Jan 22, 2015
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
parents
98ee4a1f
02c5077f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
64 additions
and
19 deletions
+64
-19
CHANGELOG
CHANGELOG
+1
-1
doc/api/milestones.md
doc/api/milestones.md
+13
-0
lib/api/milestones.rb
lib/api/milestones.rb
+15
-0
spec/requests/api/milestones_spec.rb
spec/requests/api/milestones_spec.rb
+35
-18
No files found.
CHANGELOG
View file @
08e0c0b6
...
@@ -48,7 +48,7 @@ v 7.8.0
...
@@ -48,7 +48,7 @@ v 7.8.0
-
-
-
-
-
-
-
-
Add a new API function that retrieves all issues assigned to a single milestone (Justin Whear and Hannes Rosenögger)
-
-
-
-
-
-
...
...
doc/api/milestones.md
View file @
08e0c0b6
...
@@ -72,3 +72,16 @@ Parameters:
...
@@ -72,3 +72,16 @@ Parameters:
-
`description`
(optional) - The description of a milestone
-
`description`
(optional) - The description of a milestone
-
`due_date`
(optional) - The due date of the milestone
-
`due_date`
(optional) - The due date of the milestone
-
`state_event`
(optional) - The state event of the milestone (close|activate)
-
`state_event`
(optional) - The state event of the milestone (close|activate)
## Get all issues assigned to a single milestone
Gets all issues assigned to a single project milestone.
```
GET /projects/:id/milestones/:milestone_id/issues
```
Parameters:
-
`id`
(required) - The ID of a project
-
`milestone_id`
(required) - The ID of a project milestone
lib/api/milestones.rb
View file @
08e0c0b6
...
@@ -75,6 +75,21 @@ module API
...
@@ -75,6 +75,21 @@ module API
render_api_error!
(
"Failed to update milestone
#{
milestone
.
errors
.
messages
}
"
,
400
)
render_api_error!
(
"Failed to update milestone
#{
milestone
.
errors
.
messages
}
"
,
400
)
end
end
end
end
# Get all issues for a single project milestone
#
# Parameters:
# id (required) - The ID of a project
# milestone_id (required) - The ID of a project milestone
# Example Request:
# GET /projects/:id/milestones/:milestone_id/issues
get
":id/milestones/:milestone_id/issues"
do
authorize!
:read_milestone
,
user_project
@milestone
=
user_project
.
milestones
.
find
(
params
[
:milestone_id
])
present
paginate
(
@milestone
.
issues
),
with:
Entities
::
Issue
end
end
end
end
end
end
end
spec/requests/api/milestones_spec.rb
View file @
08e0c0b6
...
@@ -8,48 +8,48 @@ describe API::API, api: true do
...
@@ -8,48 +8,48 @@ describe API::API, api: true do
before
{
project
.
team
<<
[
user
,
:developer
]
}
before
{
project
.
team
<<
[
user
,
:developer
]
}
describe
"GET /projects/:id/milestones"
do
describe
'GET /projects/:id/milestones'
do
it
"should return project milestones"
do
it
'should return project milestones'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
)
get
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
)
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
should
be_an
Array
json_response
.
first
[
'title'
].
should
==
milestone
.
title
json_response
.
first
[
'title'
].
should
==
milestone
.
title
end
end
it
"should return a 401 error if user not authenticated"
do
it
'should return a 401 error if user not authenticated'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones"
)
get
api
(
"/projects/
#{
project
.
id
}
/milestones"
)
response
.
status
.
should
==
401
response
.
status
.
should
==
401
end
end
end
end
describe
"GET /projects/:id/milestones/:milestone_id"
do
describe
'GET /projects/:id/milestones/:milestone_id'
do
it
"should return a project milestone by id"
do
it
'should return a project milestone by id'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
)
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
)
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
milestone
.
title
json_response
[
'title'
].
should
==
milestone
.
title
json_response
[
'iid'
].
should
==
milestone
.
iid
json_response
[
'iid'
].
should
==
milestone
.
iid
end
end
it
"should return 401 error if user not authenticated"
do
it
'should return 401 error if user not authenticated'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
)
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
)
response
.
status
.
should
==
401
response
.
status
.
should
==
401
end
end
it
"should return a 404 error if milestone id not found"
do
it
'should return a 404 error if milestone id not found'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones/1234"
,
user
)
get
api
(
"/projects/
#{
project
.
id
}
/milestones/1234"
,
user
)
response
.
status
.
should
==
404
response
.
status
.
should
==
404
end
end
end
end
describe
"POST /projects/:id/milestones"
do
describe
'POST /projects/:id/milestones'
do
it
"should create a new project milestone"
do
it
'should create a new project milestone'
do
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
),
title:
'new milestone'
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
),
title:
'new milestone'
response
.
status
.
should
==
201
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'new milestone'
json_response
[
'title'
].
should
==
'new milestone'
json_response
[
'description'
].
should
be_nil
json_response
[
'description'
].
should
be_nil
end
end
it
"should create a new project milestone with description and due date"
do
it
'should create a new project milestone with description and due date'
do
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
),
title:
'new milestone'
,
description:
'release'
,
due_date:
'2013-03-02'
title:
'new milestone'
,
description:
'release'
,
due_date:
'2013-03-02'
response
.
status
.
should
==
201
response
.
status
.
should
==
201
...
@@ -57,29 +57,29 @@ describe API::API, api: true do
...
@@ -57,29 +57,29 @@ describe API::API, api: true do
json_response
[
'due_date'
].
should
==
'2013-03-02'
json_response
[
'due_date'
].
should
==
'2013-03-02'
end
end
it
"should return a 400 error if title is missing"
do
it
'should return a 400 error if title is missing'
do
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
)
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
)
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
end
end
describe
"PUT /projects/:id/milestones/:milestone_id"
do
describe
'PUT /projects/:id/milestones/:milestone_id'
do
it
"should update a project milestone"
do
it
'should update a project milestone'
do
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
title:
'updated title'
title:
'updated title'
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
'updated title'
json_response
[
'title'
].
should
==
'updated title'
end
end
it
"should return a 404 error if milestone id not found"
do
it
'should return a 404 error if milestone id not found'
do
put
api
(
"/projects/
#{
project
.
id
}
/milestones/1234"
,
user
),
put
api
(
"/projects/
#{
project
.
id
}
/milestones/1234"
,
user
),
title:
'updated title'
title:
'updated title'
response
.
status
.
should
==
404
response
.
status
.
should
==
404
end
end
end
end
describe
"PUT /projects/:id/milestones/:milestone_id to close milestone"
do
describe
'PUT /projects/:id/milestones/:milestone_id to close milestone'
do
it
"should update a project milestone"
do
it
'should update a project milestone'
do
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
state_event:
'close'
state_event:
'close'
response
.
status
.
should
==
200
response
.
status
.
should
==
200
...
@@ -88,12 +88,29 @@ describe API::API, api: true do
...
@@ -88,12 +88,29 @@ describe API::API, api: true do
end
end
end
end
describe
"PUT /projects/:id/milestones/:milestone_id to test observer on close"
do
describe
'PUT /projects/:id/milestones/:milestone_id to test observer on close'
do
it
"should create an activity event when an milestone is closed"
do
it
'should create an activity event when an milestone is closed'
do
Event
.
should_receive
(
:create
)
Event
.
should_receive
(
:create
)
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
state_event:
'close'
state_event:
'close'
end
end
end
end
describe
'GET /projects/:id/milestones/:milestone_id/issues'
do
before
do
milestone
.
issues
<<
create
(
:issue
)
end
it
'should return project issues for a particular milestone'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
/issues"
,
user
)
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
first
[
'milestone'
][
'title'
].
should
==
milestone
.
title
end
it
'should return a 401 error if user not authenticated'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
/issues"
)
response
.
status
.
should
==
401
end
end
end
end
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