Modern software teams are always looking to improve their DevOps practices and tools to maintain an edge over the competition.
Atlassian's DevOps Survey offers 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.
Powerful Jira DevOps automation for Data Center
This means that there is room for improvement for Atlassian tools to support DevOps automation. Jira Data Center customers need a way to make DevOps with Jira more accessible with dedicated Jira DevOps workflows. That's what Better DevOps Automation for Jira is delivering 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 for free. It's not just for 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
- Changeset Accepted
- Changeset Rejected
- Branch Created
- Tag Created
- Commit Created
- 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.
Send an email
You can set up a Jira automation rule to send out an email when a changeset has been accepted or rejected.
Send a Slack message
Set up a Jira automation rule to send Git commit details in Slack message when a changeset has been accepted or rejected.
Send a Zoom message
Set up a Jira automation rule to send a Slack message when a changeset has been accepted or rejected.
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)
Trigger a Jenkins build
Set up a DevOps automation rule to trigger a Jenkins build from Jira when a commit is accepted
Trigger a Bamboo build
Set up a DevOps automation rule to trigger a Bamboo build plan when a commit is accepted
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:
- Comment issues, log work, automatically assign Jira issue to committer or transition issues
- Send email, Slack, Zoom, Twilio notifications
- Running custom Groovy scripts, Python programs, shellscripts, etc.
- External systems with REST APIs
- ...and many more!
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.
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 Data Center, 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:
- @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)
So, an example Genius Commit message that triggers a DevOps action to resolve a Jira issue would look like this:
"Fix the FOO-1 bug. @comment Bug fixed! @status Done @build LRT"
Create your custom DevOps commands
You can always use the DevOps smart values in Automation for Jira or the built-in Genius Commit commands, but more opportunities lie in custom commands. The real power of Genius Commits shines when you create your DevOps automation @commands to trigger whatever service or tool you want!
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 that comes for free. 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
Click the above button to get Better DevOps Automation for free!