diff --git a/CHANGELOG b/CHANGELOG
index 7a6a14919daba9eef49be80e4d2b5f8542ca323f..80b19bbd04ec99258c5a0da6f70d9fc42767a8d5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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
diff --git a/app/views/issues/_issue.atom.builder b/app/views/issues/_issue.atom.builder
index 68a2d19e58dc8a9add675fdc0b29c68b81ea3147..968318741447739462ddfd5834e35e6582c6c5ef 100644
--- a/app/views/issues/_issue.atom.builder
+++ b/app/views/issues/_issue.atom.builder
@@ -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
diff --git a/spec/features/atom/dashboard_issues_spec.rb b/spec/features/atom/dashboard_issues_spec.rb
index b710cb3c72ff33b85d85de20b73bb0d9e954e48f..87b478adb8fa0177e6baac477ee7ed1120fc2e2f 100644
--- a/spec/features/atom/dashboard_issues_spec.rb
+++ b/spec/features/atom/dashboard_issues_spec.rb
@@ -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