Inquisitor Shm
Inquisitor Shm

Reputation: 1601

Force Bitbucket Commit to be associated to JIRA Ticket by Comment Formatting

The exact need is to force all commits into Bitbucket to be linked to a JIRA ticket.

I have does this before on Subversion by creating a commit hook that looked for the JIRA ticket in the commit text, but I don't want this solution to be necessarily constrained to that prior experience.

Does Bitbucket have a setting somewhere to force association for all commits against Jira tickets? If not - does it have a mechanism for enforce commit comment quality (some sort of hook or regex)? If not - does GIT have something that we can use for this purpose?

The imagined solution is (but not limited to being) a commit hook that fails the commit if the comment text does not contain a leading JIRA ticket, followed by a colon, followed by some commit text, such that:

git commit -m "foo"

fails and

git commit -m "PRJ-9327: foo"

commits...

Upvotes: 11

Views: 10294

Answers (2)

jannis
jannis

Reputation: 5210

Update (14 April 2017)

It looks like this feature has been integrated to the JIRA mainline and should be released soon. See VonC's answer for details.

Original answer

There is a number of plugins for Bitbucket that can do this. For example Commit Policy Plugin for Bitbucket (free)

Disclosure: I'm not in any way connected to the team behind the plugin I mentioned.

Upvotes: 1

VonC
VonC

Reputation: 1325137

The BitBucket issue 5658 just got implemented today (April 13th, 2017)

Option to reject commits without an issue key in their message

This feature is now available to all users via the repository settings "links" page

The pre-receive hook that rejects pushes when any commit does not have a valid issue key in its message.
The current implementation relies on the per-repository "Links" setting to determine what a valid issue key looks like. This gives us the ability to validate against Jira, Bitbucket Issues, Connect add-ons, and any configured custom Links.

So you don't need for a third-party plugin anymore.

Link

Upvotes: 10

Related Questions