From fa54bec1d90ff0baa8a509bc68acb6a92bb817a8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 16 Dec 2011 21:16:48 -0500
Subject: [PATCH] Groovy push hooks
---
src/com/gitblit/GitBlit.java | 43 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 13dc3fa..11454f3 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -557,6 +557,7 @@
public boolean setRepositoryTeams(RepositoryModel repository, List<String> repositoryTeams) {
return userService.setTeamnamesForRepositoryRole(repository.name, repositoryTeams);
}
+
/**
* Updates the TeamModel object for the specified name.
*
@@ -564,7 +565,8 @@
* @param team
* @param isCreate
*/
- public void updateTeamModel(String teamname, TeamModel team, boolean isCreate) throws GitBlitException {
+ public void updateTeamModel(String teamname, TeamModel team, boolean isCreate)
+ throws GitBlitException {
if (!teamname.equalsIgnoreCase(team.name)) {
if (userService.getTeamModel(team.name) != null) {
throw new GitBlitException(MessageFormat.format(
@@ -576,7 +578,7 @@
throw new GitBlitException(isCreate ? "Failed to add team!" : "Failed to update team!");
}
}
-
+
/**
* Delete the team object with the specified teamname
*
@@ -725,6 +727,10 @@
"gitblit", null, "federationSets")));
model.isFederated = getConfig(config, "isFederated", false);
model.origin = config.getString("remote", "origin", "url");
+ model.preReceiveScripts = new ArrayList<String>(Arrays.asList(config.getStringList(
+ "gitblit", null, "preReceiveScript")));
+ model.postReceiveScripts = new ArrayList<String>(Arrays.asList(config.getStringList(
+ "gitblit", null, "postReceiveScript")));
}
r.close();
return model;
@@ -944,6 +950,8 @@
config.setString("gitblit", null, "federationStrategy",
repository.federationStrategy.name());
config.setBoolean("gitblit", null, "isFederated", repository.isFederated);
+ config.setStringList("gitblit", null, "preReceiveScript", repository.preReceiveScripts);
+ config.setStringList("gitblit", null, "postReceiveScript", repository.postReceiveScripts);
try {
config.save();
} catch (IOException e) {
@@ -1427,6 +1435,37 @@
}
/**
+ * Notify users by email of something.
+ *
+ * @param subject
+ * @param message
+ * @param toAddresses
+ */
+ public void notifyUsers(String subject, String message, ArrayList<String> toAddresses) {
+ this.notifyUsers(subject, message, toAddresses.toArray(new String[0]));
+ }
+
+ /**
+ * Notify users by email of something.
+ *
+ * @param subject
+ * @param message
+ * @param toAddresses
+ */
+ public void notifyUsers(String subject, String message, String... toAddresses) {
+ try {
+ Message mail = mailExecutor.createMessage(toAddresses);
+ if (mail != null) {
+ mail.setSubject(subject);
+ mail.setText(message);
+ mailExecutor.queue(mail);
+ }
+ } catch (MessagingException e) {
+ logger.error("Messaging error", e);
+ }
+ }
+
+ /**
* Returns the descriptions/comments of the Gitblit config settings.
*
* @return SettingsModel
--
Gitblit v1.9.1