diff --git a/src/main/scala/gitbucket/core/plugin/Plugin.scala b/src/main/scala/gitbucket/core/plugin/Plugin.scala
index 3d2b51b..0cb6a64 100644
--- a/src/main/scala/gitbucket/core/plugin/Plugin.scala
+++ b/src/main/scala/gitbucket/core/plugin/Plugin.scala
@@ -122,6 +122,16 @@
   def pullRequestHooks(registry: PluginRegistry, context: ServletContext, settings: SystemSettings): Seq[PullRequestHook] = Nil
 
   /**
+   * Override to add repository headers.
+   */
+  val repositoryHeaders: Seq[(RepositoryInfo, Context) => Option[Html]] = Nil
+
+  /**
+   * Override to add repository headers.
+   */
+  def repositoryHeaders(registry: PluginRegistry, context: ServletContext, settings: SystemSettings): Seq[(RepositoryInfo, Context) => Option[Html]] = Nil
+
+  /**
    * Override to add global menus.
    */
   val globalMenus: Seq[(Context) => Option[Link]] = Nil
@@ -266,6 +276,9 @@
     (pullRequestHooks ++ pullRequestHooks(registry, context, settings)).foreach { pullRequestHook =>
       registry.addPullRequestHook(pullRequestHook)
     }
+    (repositoryHeaders ++ repositoryHeaders(registry, context, settings)).foreach { repositoryHeader =>
+      registry.addRepositoryHeader(repositoryHeader)
+    }
     (globalMenus ++ globalMenus(registry, context, settings)).foreach { globalMenu =>
       registry.addGlobalMenu(globalMenu)
     }
@@ -287,8 +300,8 @@
     (dashboardTabs ++ dashboardTabs(registry, context, settings)).foreach { dashboardTab =>
       registry.addDashboardTab(dashboardTab)
     }
-    (issueSidebars ++ issueSidebars(registry, context, settings)).foreach { issueSidebar =>
-      registry.addIssueSidebar(issueSidebar)
+    (issueSidebars ++ issueSidebars(registry, context, settings)).foreach { issueSidebarComponent =>
+      registry.addIssueSidebar(issueSidebarComponent)
     }
     (assetsMappings ++ assetsMappings(registry, context, settings)).foreach { assetMapping =>
       registry.addAssetsMapping((assetMapping._1, assetMapping._2, getClass.getClassLoader))
diff --git a/src/main/scala/gitbucket/core/plugin/PluginRegistory.scala b/src/main/scala/gitbucket/core/plugin/PluginRegistory.scala
index c87adbf..f06584e 100644
--- a/src/main/scala/gitbucket/core/plugin/PluginRegistory.scala
+++ b/src/main/scala/gitbucket/core/plugin/PluginRegistory.scala
@@ -44,6 +44,7 @@
   private val pullRequestHooks = new ListBuffer[PullRequestHook]
   pullRequestHooks += new gitbucket.core.util.Notifier.PullRequestHook()
 
+  private val repositoryHeaders = new ListBuffer[(RepositoryInfo, Context) => Option[Html]]
   private val globalMenus = new ListBuffer[(Context) => Option[Link]]
   private val repositoryMenus = new ListBuffer[(RepositoryInfo, Context) => Option[Link]]
   private val repositorySettingTabs = new ListBuffer[(RepositoryInfo, Context) => Option[Link]]
@@ -128,6 +129,10 @@
 
   def getPullRequestHooks: Seq[PullRequestHook] = pullRequestHooks.toSeq
 
+  def addRepositoryHeader(repositoryHeader: (RepositoryInfo, Context) => Option[Html]): Unit = repositoryHeaders += repositoryHeader
+
+  def getRepositoryHeaders: Seq[(RepositoryInfo, Context) => Option[Html]] = repositoryHeaders.toSeq
+
   def addGlobalMenu(globalMenu: (Context) => Option[Link]): Unit = globalMenus += globalMenu
 
   def getGlobalMenus: Seq[(Context) => Option[Link]] = globalMenus.toSeq
diff --git a/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html b/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html
index 4b0fb88..cbd732d 100644
--- a/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html
+++ b/src/main/twirl/gitbucket/core/issues/issueinfo.scala.html
@@ -148,8 +148,8 @@
   <input type="hidden" name="assignedUserName" value=""/>
 }
 @issue.map { issue =>
-  @gitbucket.core.plugin.PluginRegistry().getIssueSidebars.map { sidebar =>
-    @sidebar(issue, repository, context)
+  @gitbucket.core.plugin.PluginRegistry().getIssueSidebars.map { sidebarComponent =>
+    @sidebarComponent(issue, repository, context)
   }
   <hr/>
   <div style="margin-bottom: 14px;">
diff --git a/src/main/twirl/gitbucket/core/menu.scala.html b/src/main/twirl/gitbucket/core/menu.scala.html
index c6f5f70..3106881 100644
--- a/src/main/twirl/gitbucket/core/menu.scala.html
+++ b/src/main/twirl/gitbucket/core/menu.scala.html
@@ -74,6 +74,11 @@
         @gitbucket.core.helper.html.information(info)
         @gitbucket.core.helper.html.error(error)
         <div class="head">
+          <div class="pull-right">
+            @gitbucket.core.plugin.PluginRegistry().getRepositoryHeaders.map { repositoryHeaderComponent =>
+              @repositoryHeaderComponent(repository, context)
+            }
+          </div>
           @gitbucket.core.helper.html.repositoryicon(repository, true)
           <a href="@helpers.url(repository.owner)">@repository.owner</a> / <a href="@helpers.url(repository)" class="strong">@repository.name</a>