DEV Community

Levente
Levente

Posted on

Bitbucket Smart Commits vs. Genius Commits - What's the difference?

If you already heard about Smart Commits in Bitbucket, know that you just stumbled upon something even better (and smarter!): Genius Commits by Better DevOps Automation for Jira Data Center (+ Server).

What are Bitbucket Smart Commits?

A Bitbucket Smart Commit allows developers to use three pre-defined commands in their Git commit messages which will trigger certain issue operations. You can transition issues, log time on issues, and comment on issues.

The smart commit commands that you can use are, therefore:

  • "#transition"
  • "#comment"
  • "#time"

So, with Bitbucket Smart Commit, you could commit your code changes with a commit message like:

"SIA-878 #time 6h 30m #comment Bugfix passed for review #Under Review"

which would also log time against the Jira issue SIA-878, post a comment on it, and also transition into a different status. It's a pretty neat thing to do with a single commit, without context switching and other disturbances.

If you feel that more and customizable commands would be more powerful, read on because that's exactly what's coming and even more.

What are Genius Commits?

The Better DevOps Automaton for Jira app introduces Genius Commits. Genius Commits carry special commands in the commit message that can trigger any automation action, like running a CI/CD build, tests, Slack notification, Jira issue operations, etc.

Genius Commits are unlocking next-level productivity for developers by providing more commands to use out of the box and the option to add new commands.

If your team hasn't adopted Git or Bitbucket, you can still use Better DevOps Automation for Jira for automating your DevOps actions. You can use other Git clients or Version Control Systems like Mercurial, Perforce, or Azure DevOps.

Instead of having just three hard-wired commands to use you can choose from a list of 11 default commands when you install Better DevOps Automation for Jira:

@analyze: Starts a code analysis (code scan).
@assign: Assigns issue to a user.
@Build: Triggers a build in the CI/CD system.
@call: Sends an HTTP request to a (REST) API.
@Comment: Comments on an issue.
@Run: Runs a script/program.
@issuetype: Sets the issue type.
@priority: Sets the issue priority.
@status: Sets the issue status (and resolution optionally).
@TimE: Logs work to an issue.
@transition: Transitions an issue (and sets the resolution optionally)

To add new commands, you can use the intuitive configuration panel and create your own custom command.

Alt Text

How do Genius Commits work?

The genius commands used in Genius Commits kick off automation actions that you set up in Automation for Jira. The logic behind the actions is implemented as no-code or low-code automation rules. It means that putting together a DevOps automation logic is just as simple as any other Automation for Jira rule.

Automation actions can do anything an automation rule can do, such as working with issues, logging work, sending notifications, starting CI builds, deploying code, running scripts, and many more.

Check out Better DevOps Automation and the Genius Commits!

Top comments (0)