We require any Subversion commits including creating tags or branches to have a JIRA ticket in the comment. There is no place to do this in the VCS tagging task in Bamboo 3.2. Is this fixed in a later release?
Hi Andrew, Did you guys arrive at a solution for adding a message during bamboos vcs tagging commit?
We also have an svn repo and it has a pre commit hook that forces the need for a message that Bamboo does not seem to supply.
Hi Lance,
The work around that we came up with was an edit to the hook script. I use a service account (svc-envbuild) to access SVN from Bamboo and we wrapped that part of the hook with the following so it ignores the hook when tagging. Not a great solution but it works for now. I am also watching BAM-10658...
if ($committer ne "svc-envbuild") {
# get commit message
my $holdTerminator = $/;
undef $/;
open IN, '-|', "$svnlookPath log $ARGV[0] --transaction $ARGV[1]" or die "Unable to get commit message with svnlook.\n";
my $buffer = <IN>;
close IN;
$/ = $holdTerminator;
my @lines = split /$holdTerminator/, $buffer;
$buffer = "init";
$buffer = join $holdTerminator, @lines;
chomp($buffer);
my $commitMessage = $buffer;
# print arguments
select(STDERR);
print "Committer: " . $committer . "\n";
print "Commit message: \"" . $commitMessage . "\"\n";
# invoke JIRA web service
my $acceptance;
my $comment;
eval {
$jiraBaseURL =~ s/\/+$//; # remove trailing '/' if exists
my $s = XMLRPC::Lite->proxy($jiraBaseURL . "/rpc/xmlrpc");
my $result = $s->call("commitacc.acceptCommit", $jiraLogin, $jiraPassword, $committer, $projectKey, $commitMessage)->result();
($acceptance, $comment) = split('\|', $result);
};
if ($@) {
($acceptance, $comment) = ("false", "Unable to connect to the JIRA server at \"" . $jiraBaseURL . "\".");
};
if($acceptance eq 'true') {
print "Commit accepted.\n";
exit 0;
} else {
$comment = HTML::Entities::decode($comment);
print "Commit rejected: " . $comment . "\n";
exit 1;
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
There's no plugin point available for the commit message. Being a licensed user, you can access the sources and modify the com.atlassian.bamboo.repository.svn.SvnRepository#copyRepository method to do whatever you want.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I would rather not modify the source for basic fuctionality. I will put in a feature request and use the script function until the VCS tagging task is usable....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.