How do I add a comment ie: JIRA ticket number to the VCS tagging task?

Andrew Morin January 16, 2012

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?

2 answers

0 votes
lance_lyons
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 11, 2012

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.

Andrew Morin July 12, 2012

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;

}

}

0 votes
Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 17, 2012

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.

Andrew Morin January 17, 2012

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....

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events