diff --git a/app/views/shared/milestones/_record.html.haml b/app/views/shared/milestones/_record.html.haml
index a753dd78a6ae5863442a1122ff9bf767543f6850..f82f2132bb65ed36e9b3c592cb9184d8db4f69b9 100644
--- a/app/views/shared/milestones/_record.html.haml
+++ b/app/views/shared/milestones/_record.html.haml
@@ -1,5 +1,7 @@
 -# @project is present when viewing Project's milestone
 - project = @project || record.project
+- record_type = record.class.table_name
+- base_url_args = [project.namespace.becomes(Namespace), project, record_type]
 
 %li{ id: dom_id(record, 'sortable'),  class: "#{dom_class(record)}-row", 'data-iid' => record.iid, 'data-url' => polymorphic_path(record) }
   %span
@@ -11,7 +13,11 @@
   %div{class: "#{dom_class(record)}-detail"}
     = link_to [project.namespace.becomes(Namespace), project, record] do
       %span{ class: "#{dom_class(record)}-number" } ##{record.iid}
+
     - record.labels.each do |label|
-      = render_colored_label(label)
+      %a{ href: polymorphic_path(base_url_args, { milestone_title: @milestone.title, label_name: label.title, state: 'all' }) }<
+        = render_colored_label(label)
+
     - if record.assignee
-      = image_tag avatar_icon(record.assignee, 16), class: "avatar s16", alt: ''
+      %a{ href: polymorphic_path(base_url_args, { milestone_title: @milestone.title, assignee_id: record.assignee_id, state: 'all' }) }
+        = image_tag(avatar_icon(record.assignee, 16), class: "avatar s16", alt: '')