Free webinar on 5 May: "Improving developer experience with Better DevOps Automation for Jira" (seats are limited!) Sign up now →

Bringing DevOps automation features to Jira Data Center and Server

There are a few correct definitions of DevOps, may it be centered around DevOps tools, people, a mindset or all of the above. What we can agree on is that it's often hard to put the DevOps mindset in practice. DevOps practitioners are always looking for ways to improve their techniques.

Atlassian's latest DevOps Survey offers some more insight on current DevOps best practices and trends. 99% of respondents found DevOps practices had a positive effect on their organization. 61% reported faster deliverables, but 85% reports hurdles around introducing the culture of DevOps.

What stands out is that while people use more DevOps automation tools, having too many manual task is still a leading complaint. It actually became more common compared to the 2018 survey.

Powerful Jira DevOps automation for Data Center and Server

This means that there is room for improvement for Atlassian tools to support DevOps automation. Jira Data Center (Server) customers need a way to make DevOps with Jira more accessible with dedicated Jira DevOps workflows. That's exactly what Better DevOps Automation for Jira is aiming for with new DevOps automation triggers in Automation for Jira.

Better DevOps Automation is a no-code, low-code automation framework that brings DevOps automation triggers for Jira Data Center and Server. It also doesn't stop at Git: Better DevOps Automation is VCS agnostic and works with other version control systems like SVN, Mercurial or Azure DevOps Server (and pretty much anything else through its extension points).

The new DevOps automation triggers are
  1. Changeset Accepted
  2. Changeset Rejected
  3. Branch Created
  4. Tag Created
  5. Commit Created
  6. Genius Commit Created

What does "accepted" mean, you wonder? Better DevOps Automation for Jira is a companion app for Better Commit Policy for Jira, which verifies the commits pushed and the pull requests merged against a set of rules. "Accepted" means that only those commits will start automations that have been accepted (or rejected) by Better Commit Policy.

Once your commits, branches and tags have been accepted and the changeset has been parsed by Better DevOps Automation, the actual automatic workflows are performed by Automaton for Jira. You will need all three apps installed to automate your DevOps workflows with Better DevOps Automation.

Better Commit Policy first verifies the commits before passed to Better DevOps Automation

Why is best to use Better Commit Policy with Better DevOps Automation?

In short, the advantage is greater than the sum of the 2 apps.

When you are implementing a DevOps workflow, it is very important to guarantee hi-quality commits in order to prevent unwanted or half-baked automations. For example, who wants to receive a commit notification with an empty commit message or with an empty file-list or without a linked issue?

Similarly, when you use the Genius Commit feature, it must be guaranteed that the commands are entered correctly to the commit message. For example, "@assign" must be followed by a valid username.

Better Commit Policy will verify all these. If there are mistakes, it rejects the commit and gives instant feedback to the developer, who can correct the mistake and avoid a failed DevOps automation.

Jira DevOps workflow actions

Better DevOps Automation extends the Automation for Jira app with additional automation triggers. These DevOps-specific triggers can start automation rules composed of different DevOps actions. The rules themselves span a wide range in terms of complexity, from simple ones with a single action to complex ones with several conditions and actions.

There are countless simpler use cases that you can easily implement. We collected some of those for inspiration in the following section.

Notifications
  1. Send an email

    You can set up a Jira automation rule to send out an email when a changeset has been accepted or rejected.

  2. Send a Slack message

    Set up a Jira automation rule to send a Slack message when a changeset has been accepted or rejected.

  3. Send a Zoom message

    Set up a Jira automation rule to send a Slack message when a changeset has been accepted or rejected.

  4. Send an SMS

    Set up a Jira automation rule to send a Twilio SMS when a changeset has been accepted or rejected.

CI/CD (Continuous Integration, Continuous Deployment and Continuous Delivery)
  1. Trigger a Jenkins build

    Set up a DevOps automation rule to trigger a Jenkins build from Jira when a commit is accepted

  2. Trigger a Bamboo build

    Set up a DevOps automation rule to trigger a Bamboo build plan when a commit is accepted

  3. Trigger a Teamcity build

    Set up a DevOps automation rule to trigger a Teamcity build when a commit is accepted

Want to see more possibilities?

Read more in the documentation to learn how to automate:

Ultimately, you can implement a full-blown GitOps, MercurialOps or SvnOps strategy. These Jira automation rules will work with all the popular Version Control Systems.

Try Better DevOps Automation now for free!

The next generation of Smart Commits

Better DevOps Automation introduces Genius Commits, the next generation of Smart Commits that unlock more DevOps automation actions.

In Bitbucket Cloud and Server, Smart Commits provide 3 hard-wired commands only. Out of the box, Genius Commits provide 11 commands and enable to create any number of custom ones. You are not tied to Bitbucket either, as Genius Commits will work with any popular VCS, like Azure DevOps Server, Mercurial or Subversion.

The default commands for Genius Commits are:
  1. @analyze: Starts a code analysis (code scan).
  2. @assign: Assigns issue to a user.
  3. @build: Triggers a build in the CI/CD system.
  4. @call: Sends an HTTP request to a (REST) API.
  5. @comment: Comments on an issue.
  6. @run: Runs a script/program.
  7. @issuetype: Sets the issue type.
  8. @priority: Sets the issue priority.
  9. @status: Sets the issue status (and resolution optionally).
  10. @time: Logs work to an issue.
  11. @transition: Transitions an issue (and sets the resolution optionally)

So, an example Genius Commit message that triggers a DevOps action would look like this:

"Fix the FOO-1 bug. @comment Bug fixed! @status Done @build LRT"

Create your custom DevOps commands

The real power of Genius Commits shines when you create your own @commands to trigger whatever service or tool you want! See the documentation on how you can create and configure your DevOps automation commands!

Benefits of DevOps automation with Jira

Teams that give people a say in their DevOps processes, have better teamwork, work at a higher velocity and release more reliably. Automation doesn't mean the exclusion of people. It is a result of mutually decided rules, effectively put to work.

What does this mean for you? Involve the team in creating the DevOps automation rules and the Genius Commands that fire actions. This way, automation will align with every team member's needs as well as with the end-goal of more efficient software delivery.

If you are already standardizing on Atlassian tools for software development and delivery, then Better DevOps Automation is a relatively small, but disproportionately powerful addition. It will reinforce your DevOps efforts by:

  • Increasing self-serve with custom commands
  • Reducing administration and hand-off between teams with built-in commands for Jira issue transactions, time logging and more
  • Reducing complexity of technology stack by centralizing your DevOps workflow commands in Jira

Automate your DevOps workflows!

Click the above button to try Better DevOps Automation for Jira free for 30 days!

 

Be the first to hear about the Midori news, Jira, Confluence, Bitbucket guides, and productivity tips that accelerate your team.

Subscribe now