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
Show 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
-
-
-
-
-
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:
-
`description`
(optional) - The description of a milestone
-
`due_date`
(optional) - The due date of the milestone
-
`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
render_api_error!
(
"Failed to update milestone
#{
milestone
.
errors
.
messages
}
"
,
400
)
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
spec/requests/api/milestones_spec.rb
View file @
08e0c0b6
...
...
@@ -8,48 +8,48 @@ describe API::API, api: true do
before
{
project
.
team
<<
[
user
,
:developer
]
}
describe
"GET /projects/:id/milestones"
do
it
"should return project milestones"
do
describe
'GET /projects/:id/milestones'
do
it
'should return project milestones'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
)
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
first
[
'title'
].
should
==
milestone
.
title
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"
)
response
.
status
.
should
==
401
end
end
describe
"GET /projects/:id/milestones/:milestone_id"
do
it
"should return a project milestone by id"
do
describe
'GET /projects/:id/milestones/:milestone_id'
do
it
'should return a project milestone by id'
do
get
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
)
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
milestone
.
title
json_response
[
'iid'
].
should
==
milestone
.
iid
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
}
"
)
response
.
status
.
should
==
401
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
)
response
.
status
.
should
==
404
end
end
describe
"POST /projects/:id/milestones"
do
it
"should create a new project milestone"
do
describe
'POST /projects/:id/milestones'
do
it
'should create a new project milestone'
do
post
api
(
"/projects/
#{
project
.
id
}
/milestones"
,
user
),
title:
'new milestone'
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'new milestone'
json_response
[
'description'
].
should
be_nil
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
),
title:
'new milestone'
,
description:
'release'
,
due_date:
'2013-03-02'
response
.
status
.
should
==
201
...
...
@@ -57,29 +57,29 @@ describe API::API, api: true do
json_response
[
'due_date'
].
should
==
'2013-03-02'
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
)
response
.
status
.
should
==
400
end
end
describe
"PUT /projects/:id/milestones/:milestone_id"
do
it
"should update a project milestone"
do
describe
'PUT /projects/:id/milestones/:milestone_id'
do
it
'should update a project milestone'
do
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
title:
'updated title'
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
'updated title'
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
),
title:
'updated title'
response
.
status
.
should
==
404
end
end
describe
"PUT /projects/:id/milestones/:milestone_id to close milestone"
do
it
"should update a project milestone"
do
describe
'PUT /projects/:id/milestones/:milestone_id to close milestone'
do
it
'should update a project milestone'
do
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
state_event:
'close'
response
.
status
.
should
==
200
...
...
@@ -88,12 +88,29 @@ describe API::API, api: true do
end
end
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
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
Event
.
should_receive
(
:create
)
put
api
(
"/projects/
#{
project
.
id
}
/milestones/
#{
milestone
.
id
}
"
,
user
),
state_event:
'close'
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
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