From dc9af4ce8b21d1f586a3f3dcdc3d6ededdee738c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 05 Jul 2014 13:10:40 -0400
Subject: [PATCH] Merged #139 "Raw link blob paths do not respect web.forwardSlashCharacter"

---
 src/site/plugins_extensions.mkd |   76 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 3 deletions(-)

diff --git a/src/site/plugins_extensions.mkd b/src/site/plugins_extensions.mkd
index 99b6400..9e0d170 100644
--- a/src/site/plugins_extensions.mkd
+++ b/src/site/plugins_extensions.mkd
@@ -96,7 +96,6 @@
 import org.kohsuke.args4j.Option;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import com.gitblit.models.UserModel;
 import com.gitblit.transport.ssh.commands.CommandMetaData;
 import com.gitblit.transport.ssh.commands.DispatchCommand;
 import com.gitblit.transport.ssh.commands.UsageExample;
@@ -286,7 +285,7 @@
 }
 ```
 
-### Lifecycle Listener
+### Server Lifecycle Listener
 
 *SINCE 1.6.0*
 
@@ -313,4 +312,75 @@
     	log.info("Gitblit is Going Down!!");
     }
 }
-```
\ No newline at end of file
+```
+
+### Repository Lifecycle Listener
+
+*SINCE 1.6.0*
+
+You can provide a lifecycle listener to be notified when Gitblit has created or deleted a repository.
+
+```java
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import ro.fortsoft.pf4j.Extension;
+import com.gitblit.extensions.RepositoryLifeCycleListener;
+import com.gitblit.models.RepositoryModel;
+
+@Extension
+public class MyRepoLifeCycleListener extends RepositoryLifeCycleListener {
+
+    final Logger log = LoggerFactory.getLogger(getClass());
+    
+    @Override
+    public void onCreation(RepositoryModel repo) {
+    	log.info("Gitblit created {}", repo);
+    }
+
+    @Override
+    public void onDeletion(RepositoryModel repo) {
+    	log.info("Gitblit deleted {}", repo);
+    }
+}
+```
+
+### User/Team Lifecycle Listener
+
+*SINCE 1.6.0*
+
+You can provide a lifecycle listener to be notified when Gitblit has created or deleted a user or a team.
+
+```java
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import ro.fortsoft.pf4j.Extension;
+import com.gitblit.extensions.UserTeamLifeCycleListener;
+import com.gitblit.models.TeamModel;
+import com.gitblit.models.UserModel;
+
+@Extension
+public class MyUserTeamLifeCycleListener extends UserTeamLifeCycleListener {
+
+    final Logger log = LoggerFactory.getLogger(getClass());
+    
+    @Override
+    public void onCreation(UserModel user) {
+    	log.info("Gitblit created user {}", user);
+    }
+
+    @Override
+    public void onDeletion(UserModel user) {
+    	log.info("Gitblit deleted user {}", user);
+    }
+
+    @Override
+    public void onCreation(TeamModel team) {
+    	log.info("Gitblit created team {}", team);
+    }
+
+    @Override
+    public void onDeletion(TeamModel team) {
+    	log.info("Gitblit deleted team {}", team);
+    }
+}
+```

--
Gitblit v1.9.1