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
0
Merge Requests
0
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
Jérome Perrin
gitlab-ce
Commits
af33338b
Commit
af33338b
authored
May 15, 2016
by
Alexander Matyushentsev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add more information into RSS fead for issues
parent
c928accd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
10 deletions
+47
-10
CHANGELOG
CHANGELOG
+2
-0
app/views/issues/_issue.atom.builder
app/views/issues/_issue.atom.builder
+19
-1
spec/features/atom/dashboard_issues_spec.rb
spec/features/atom/dashboard_issues_spec.rb
+26
-9
No files found.
CHANGELOG
View file @
af33338b
...
...
@@ -123,6 +123,8 @@ v 8.8.1
v 8.8.0
- Implement GFM references for milestones (Alejandro Rodríguez)
v 8.8.0 (unreleased)
- Add more information into RSS fead for issues.
- Snippets tab under user profile. !4001 (Long Nguyen)
- Fix error when using link to uploads in global snippets
- Fix Error 500 when attempting to retrieve project license when HEAD points to non-existent ref
...
...
app/views/issues/_issue.atom.builder
View file @
af33338b
...
...
@@ -5,10 +5,28 @@ xml.entry do
xml.updated issue.created_at.xmlschema
xml.media :thumbnail, width: "40", height: "40", url: image_url(avatar_icon(issue.author_email))
xml.author do
|author|
xml.author do
xml.name issue.author_name
xml.email issue.author_email
end
xml.summary issue.title
xml.description issue.description if issue.description
xml.milestone issue.milestone.title if issue.milestone
xml.due_date issue.due_date if issue.due_date
unless issue.labels.empty?
xml.labels do
issue.labels.each do |label|
xml.label label.name
end
end
end
if issue.assignee
xml.assignee do
xml.name issue.assignee.name
xml.email issue.assignee.email
end
end
end
spec/features/atom/dashboard_issues_spec.rb
View file @
af33338b
...
...
@@ -2,15 +2,18 @@ require 'spec_helper'
describe
"Dashboard Issues Feed"
,
feature:
true
do
describe
"GET /issues"
do
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:project1
)
{
create
(
:project
)
}
let!
(
:project2
)
{
create
(
:project
)
}
let!
(
:issue1
)
{
create
(
:issue
,
author:
user
,
assignee:
user
,
project:
project1
)
}
let!
(
:issue2
)
{
create
(
:issue
,
author:
user
,
assignee:
user
,
project:
project2
)
}
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:project1
)
{
create
(
:project
)
}
let!
(
:project2
)
{
create
(
:project
)
}
let!
(
:milestone1
)
{
create
(
:milestone
,
project:
project1
,
title:
'v1'
)
}
let!
(
:label1
)
{
create
(
:label
,
project:
project1
,
title:
'label1'
)
}
let!
(
:issue1
)
{
create
(
:issue
,
author:
user
,
assignee:
user
,
project:
project1
,
milestone:
milestone1
)
}
let!
(
:issue2
)
{
create
(
:issue
,
author:
user
,
assignee:
user
,
project:
project2
,
description:
'test desc'
)
}
before
do
project1
.
team
<<
[
user
,
:master
]
project2
.
team
<<
[
user
,
:master
]
issue1
.
labels
<<
label1
end
describe
"atom feed"
do
...
...
@@ -20,10 +23,24 @@ describe "Dashboard Issues Feed", feature: true do
expect
(
response_headers
[
'Content-Type'
]).
to
have_content
(
'application/atom+xml'
)
expect
(
body
).
to
have_selector
(
'title'
,
text:
"
#{
user
.
name
}
issues"
)
expect
(
body
).
to
have_selector
(
'author email'
,
text:
issue1
.
author_email
)
expect
(
body
).
to
have_selector
(
'entry summary'
,
text:
issue1
.
title
)
expect
(
body
).
to
have_selector
(
'author email'
,
text:
issue2
.
author_email
)
expect
(
body
).
to
have_selector
(
'entry summary'
,
text:
issue2
.
title
)
entry_1
=
find
(
:xpath
,
"//feed/entry[contains(summary/text(),'
#{
issue1
.
title
}
')]"
)
expect
(
entry_1
).
to
be_present
entry_2
=
find
(
:xpath
,
"//feed/entry[contains(summary/text(),'
#{
issue2
.
title
}
')]"
)
expect
(
entry_2
).
to
be_present
expect
(
entry_1
).
to
have_selector
(
'author email'
,
text:
issue1
.
author_email
)
expect
(
entry_1
).
to
have_selector
(
'assignee email'
,
text:
issue1
.
author_email
)
expect
(
entry_1
).
to
have_selector
(
'labels label'
,
text:
label1
.
title
)
expect
(
entry_1
).
to
have_selector
(
'milestone'
,
text:
milestone1
.
title
)
expect
(
entry_1
).
not_to
have_selector
(
'description'
)
expect
(
entry_2
).
to
have_selector
(
'author email'
,
text:
issue2
.
author_email
)
expect
(
entry_2
).
to
have_selector
(
'assignee email'
,
text:
issue2
.
author_email
)
expect
(
entry_2
).
not_to
have_selector
(
'labels'
)
expect
(
entry_2
).
not_to
have_selector
(
'milestone'
)
expect
(
entry_2
).
to
have_selector
(
'description'
,
text:
issue1
.
description
)
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