List of usage examples for org.eclipse.jgit.lib Repository shortenRefName
@NonNull public static String shortenRefName(String refName)
From source file:com.gitblit.plugin.glip.GlipReceiveHook.java
License:Apache License
/** * Sends a Glip message when a branch or a tag is deleted. * * @param receivePack//from ww w . ja va2 s. co m * @param cmd * @param rType */ protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); String activity = String.format("%s has pushed to %s", user.getDisplayName(), StringUtils.stripDotGit(repo.name)); String msg = String.format("**%s** has deleted %s **%s** from [%s](%s)", user.getDisplayName(), rType.name().toLowerCase(), shortRef, StringUtils.stripDotGit(repo.name), repoUrl); Payload payload = new Payload().icon(getIconUrl(user)).activity(activity).body(msg); glip.setConversation(repo, payload); glip.sendAsync(payload); }
From source file:com.gitblit.plugin.hipchat.HipChatReceiveHook.java
License:Apache License
/** * Sends a HipChat message when a branch or a tag is created. * * @param receivePack/*w w w.j a v a 2 s. c o m*/ * @param cmd * @param rType */ protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); String logUrl = getUrl(repo.name, shortRef, null); String msg = String.format("<b>%s</b> has created %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>", user.getDisplayName(), rType.name().toLowerCase(), logUrl, shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); Payload payload = Payload.html(msg); payload.setColor(Color.gray); hipChatter.setRoom(repo, payload); hipChatter.sendAsync(payload); }
From source file:com.gitblit.plugin.hipchat.HipChatReceiveHook.java
License:Apache License
/** * Sends a HipChat message when a branch or a tag has been updated. * * @param receivePack//from w w w . j a v a 2 s .c o m * @param cmd * @param rType * @param isFF */ protected void sendUpdate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType, boolean isFF) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); List<RevCommit> commits = null; String action; String url; switch (rType) { case TAG: // commit link url = getUrl(repo.name, null, shortRef); action = "<b>MOVED</b> tag"; break; default: // log link url = getUrl(repo.name, shortRef, null); if (isFF) { commits = getCommits(receivePack, cmd.getOldId().name(), cmd.getNewId().name()); if (commits.size() == 1) { action = "pushed 1 commit to"; } else { action = String.format("pushed %d commits to", commits.size()); } } else { action = "<b>REWRITTEN</b>"; } break; } StringBuilder sb = new StringBuilder(); String msg = String.format("<b>%s</b> has %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>", user.getDisplayName(), action, url, shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); sb.append(msg); if (commits != null) { // abbreviated commit list int shortIdLen = receivePack.getGitblit().getSettings().getInteger(Keys.web.shortCommitIdLength, 6); int maxCommits = Integer.MAX_VALUE; sb.append("\n<table><tbody>\n"); for (int i = 0; i < Math.min(maxCommits, commits.size()); i++) { RevCommit commit = commits.get(i); String username = ""; String email = ""; if (commit.getAuthorIdent().getEmailAddress() != null) { username = commit.getAuthorIdent().getName(); email = commit.getAuthorIdent().getEmailAddress().toLowerCase(); if (StringUtils.isEmpty(username)) { username = email; } } else { username = commit.getAuthorIdent().getName(); email = username.toLowerCase(); } String gravatarUrl = ActivityUtils.getGravatarThumbnailUrl(email, 16); String commitUrl = getUrl(repo.name, null, commit.getName()); String shortId = commit.getName().substring(0, shortIdLen); String shortMessage = StringUtils.escapeForHtml(commit.getFullMessage(), false); String row = String.format( "<tr><td><img src=\"%s\"/></td><td><pre><a href=\"%s\">%s</a></pre></td><td>%s</td></tr>\n", gravatarUrl, commitUrl, shortId, shortMessage); sb.append(row); } sb.append("</tbody></table>"); // compare link if (commits.size() > 1) { String compareUrl = getUrl(repo.name, cmd.getOldId().getName(), cmd.getNewId().getName()); String compareText; if (commits.size() > maxCommits) { int diff = commits.size() - maxCommits; if (diff == 1) { compareText = "1 more commit"; } else { compareText = String.format("%d more commits", diff); } } else { compareText = String.format("view comparison of these %s commits", commits.size()); } sb.append(String.format("<a href=\"%s\">%s</a>", compareUrl, compareText)); } } Payload payload = Payload.html(sb.toString()); payload.setColor(Color.gray); hipChatter.setRoom(repo, payload); hipChatter.sendAsync(payload); }
From source file:com.gitblit.plugin.hipchat.HipChatReceiveHook.java
License:Apache License
/** * Sends a HipChat message when a branch or a tag is deleted. * * @param receivePack//w w w.j a va 2 s. co m * @param cmd * @param rType */ protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); String msg = String.format("<b>%s</b> has deleted %s <b>%s</b> from <a href=\"%s\">%s</a>", user.getDisplayName(), rType.name().toLowerCase(), shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); Payload payload = Payload.html(msg); payload.setColor(Color.gray); hipChatter.setRoom(repo, payload); hipChatter.sendAsync(payload); }
From source file:com.gitblit.plugin.jabber.JabberReceiveHook.java
License:Apache License
/** * Sends a Jabber chat message when a branch or a tag is created. * * @param receivePack/*from w ww. ja v a 2 s. co m*/ * @param cmd * @param rType */ protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); String logUrl = getUrl(repo.name, shortRef, null); String msg = String.format("%s has created %s %s %s in %s %s", user.getDisplayName(), rType.name().toLowerCase(), logUrl, shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); Message message = Message.text(msg); jabber.setRoom(receivePack.getRepositoryModel(), message); jabber.sendAsync(message); }
From source file:com.gitblit.plugin.jabber.JabberReceiveHook.java
License:Apache License
/** * Sends a Jabber chat message when a branch or a tag has been updated. * * @param receivePack// w w w. j a v a 2 s . c om * @param cmd * @param rType * @param isFF */ protected void sendUpdate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType, boolean isFF) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); List<RevCommit> commits = null; String action; String url; switch (rType) { case TAG: // commit link url = getUrl(repo.name, null, shortRef); action = "MOVED tag"; break; default: // log link url = getUrl(repo.name, shortRef, null); if (isFF) { commits = getCommits(receivePack, cmd.getOldId().name(), cmd.getNewId().name()); if (commits.size() == 1) { action = "pushed 1 commit to"; } else { action = String.format("pushed %d commits to", commits.size()); } } else { action = "REWRITTEN"; } break; } StringBuilder sb = new StringBuilder(); StringBuilder html = new StringBuilder("<body xmlns=\"http://www.w3.org/1999/xhtml\">"); String msg = String.format("%s has %s %s %s in %s %s", user.getDisplayName(), action, url, shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); sb.append(msg); String htmlMsg = String.format("<b>%s</b> has %s <a href=\"%s\">%s</a> in <a href=\"%s\">%s</a>", user.getDisplayName(), action, StringUtils.escapeForHtml(url, false), shortRef, StringUtils.escapeForHtml(repoUrl, false), StringUtils.stripDotGit(repo.name)); html.append(htmlMsg); if (commits != null) { // abbreviated commit list int shortIdLen = receivePack.getGitblit().getSettings().getInteger(Keys.web.shortCommitIdLength, 6); int maxCommits = 5; sb.append("\n"); html.append("<br/><ol>"); for (int i = 0; i < Math.min(maxCommits, commits.size()); i++) { RevCommit commit = commits.get(i); String commitUrl = getUrl(repo.name, null, commit.getName()); String shortId = commit.getName().substring(0, shortIdLen); String shortMessage = StringUtils.escapeForHtml( StringUtils.trimString(commit.getShortMessage(), Constants.LEN_SHORTLOG), false); String row = String.format("%s %s %s\n", commitUrl, shortId, shortMessage); sb.append(row); String htmlRow = String.format("<li><a href=\"%s\">%s</a> %s</li>\n", StringUtils.escapeForHtml(commitUrl, false), shortId, shortMessage); html.append(htmlRow); } html.append("</ol>"); // compare link if (commits.size() > 1) { String compareUrl = getUrl(repo.name, cmd.getOldId().getName(), cmd.getNewId().getName()); String compareText; if (commits.size() > maxCommits) { int diff = commits.size() - maxCommits; if (diff == 1) { compareText = "1 more commit"; } else { compareText = String.format("%d more commits", diff); } } else { compareText = String.format("view comparison of these %s commits", commits.size()); } sb.append(String.format("%s %s", compareUrl, compareText)); html.append(String.format("<a href=\"%s\">%s</a>", StringUtils.escapeForHtml(compareUrl, false), compareText)); } } html.append("</body>"); Message message = Message.create(sb.toString(), html.toString()); jabber.setRoom(receivePack.getRepositoryModel(), message); jabber.sendAsync(message); }
From source file:com.gitblit.plugin.jabber.JabberReceiveHook.java
License:Apache License
/** * Sends a Jabber chat message when a branch or a tag is deleted. * * @param receivePack//from w w w. j a v a 2 s .c o m * @param cmd * @param rType */ protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); String msg = String.format("%s has deleted %s %s from %s %s", user.getDisplayName(), rType.name().toLowerCase(), shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); Message message = Message.text(msg); jabber.setRoom(receivePack.getRepositoryModel(), message); jabber.sendAsync(message); }
From source file:com.gitblit.plugin.slack.SlackReceiveHook.java
License:Apache License
/** * Sends a Slack message when a branch or a tag is created. * * @param receivePack//from www .java2 s . c o m * @param cmd * @param rType */ protected void sendCreate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); String logUrl = getUrl(repo.name, shortRef, null); boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true); String author; if (postAsUser) { // posting as user, do not BOLD username author = user.getDisplayName(); } else { // posting as Gitblit, BOLD username to draw attention author = "*" + user.getDisplayName() + "*"; } String msg = String.format("%s has created %s <%s|%s> in <%s|%s>", author, rType.name().toLowerCase(), logUrl, shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); Payload payload = Payload.instance(msg); attribute(payload, user); slacker.setChannel(repo, payload); slacker.sendAsync(payload); }
From source file:com.gitblit.plugin.slack.SlackReceiveHook.java
License:Apache License
/** * Sends a Slack message when a branch or a tag has been updated. * * @param receivePack/*from w w w . j a va 2s. c o m*/ * @param cmd * @param rType * @param isFF */ protected void sendUpdate(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType, boolean isFF) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true); String author; if (postAsUser) { // posting as user, do not BOLD username author = user.getDisplayName(); } else { // posting as Gitblit, BOLD username to draw attention author = "*" + user.getDisplayName() + "*"; } List<RevCommit> commits = null; String action; String url; switch (rType) { case TAG: url = getUrl(repo.name, null, shortRef); action = "*MOVED* tag"; break; default: // log url url = getUrl(repo.name, shortRef, null); if (isFF) { commits = getCommits(receivePack, cmd.getOldId().name(), cmd.getNewId().name()); if (commits.size() == 1) { action = "pushed 1 commit to"; } else { action = String.format("pushed %d commits to", commits.size()); } } else { action = "*REWRITTEN*"; } break; } StringBuilder sb = new StringBuilder(); String msg = String.format("%s has %s <%s|%s> in <%s|%s>", author, action, url, shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); sb.append(msg); if (commits != null) { // abbreviated commit list sb.append("\n\n"); int shortIdLen = receivePack.getGitblit().getSettings().getInteger(Keys.web.shortCommitIdLength, 6); int maxCommits = 5; for (int i = 0; i < Math.min(maxCommits, commits.size()); i++) { RevCommit commit = commits.get(i); String commitUrl = getUrl(repo.name, null, commit.getName()); String shortId = commit.getName().substring(0, shortIdLen); String shortMessage = StringUtils.trimString(commit.getShortMessage(), Constants.LEN_SHORTLOG); String row = String.format("<%s|`%s`> %s\n", commitUrl, shortId, shortMessage); sb.append(row); } // compare link if (commits.size() > 1) { String compareUrl = getUrl(repo.name, cmd.getOldId().getName(), cmd.getNewId().getName()); String compareText; if (commits.size() > maxCommits) { int diff = commits.size() - maxCommits; if (diff == 1) { compareText = "1 more commit"; } else { compareText = String.format("%d more commits", diff); } } else { compareText = String.format("view comparison of these %s commits", commits.size()); } sb.append(String.format("<%s|%s>", compareUrl, compareText)); } } Payload payload = Payload.instance(sb.toString()); attribute(payload, user); slacker.setChannel(repo, payload); slacker.sendAsync(payload); }
From source file:com.gitblit.plugin.slack.SlackReceiveHook.java
License:Apache License
/** * Sends a Slack message when a branch or a tag is deleted. * * @param receivePack/*ww w . j av a 2 s . c o m*/ * @param cmd * @param rType */ protected void sendDelete(GitblitReceivePack receivePack, ReceiveCommand cmd, RefType rType) throws IOException { UserModel user = receivePack.getUserModel(); RepositoryModel repo = receivePack.getRepositoryModel(); String shortRef = Repository.shortenRefName(cmd.getRefName()); String repoUrl = getUrl(repo.name, null, null); boolean postAsUser = receivePack.getGitblit().getSettings().getBoolean(Plugin.SETTING_POST_AS_USER, true); String author; if (postAsUser) { // posting as user, do not BOLD username author = user.getDisplayName(); } else { // posting as Gitblit, BOLD username to draw attention author = "*" + user.getDisplayName() + "*"; } String msg = String.format("%s has deleted %s *%s* from <%s|%s>", author, rType.name().toLowerCase(), shortRef, repoUrl, StringUtils.stripDotGit(repo.name)); Payload payload = Payload.instance(msg); attribute(payload, user); slacker.setChannel(repo, payload); slacker.sendAsync(payload); }