Better Commit Policy for Jira Server
Verify the changes committed to Git, Bitbucket, GitHub, GitLab, Subversion & Mercurial against configurable rulesHow does it work?
Better Commit Policy checks the changes committed to your Version Control System against the commit policy, a set of configurable rules that verify the commit details.
When the rules are not satisfied, the commits get rejected. Rejected commits should be "fixed" to comply with the rules, and then be re-committed.
Why should I use commit policies?
As a result of enforcing rules on the changes submitted your Version Control System, the quality of your processes, the traceability of your changes and the consistency of your source code drastically improve.
← Learn more by watching the intro video in the left.
Control the source code changes and work securely
The rules can verify every commit detail:
- the changed files
- the commit message
- the committer (author)
- the affected branches
- the affected tags
Each rule:
- can be limited to specific branches or directories
- can combine multiple conditions with AND/OR
- can show custom instructions to the developer when his/her commit is rejected
Supported Version Control Systems
- Git
- Git (client-side) (must-have for Git users!)
- Bitbucket Server (Git) (via a free Bitbucket app)
- Bitbucket Data Center (Git) (via a free Bitbucket app)
- Bitbucket Cloud (Git)
- GitHub (Git)
- GitHub Enterprise (Git)
- GitLab Self-Managed (Git)
- GitLab.com (Git)
- Subversion
- Mercurial
- Perforce
- TFS (Team Foundation Server)
- ClearCase
... plus any other VCS or environment via the REST API and custom hook scripts!
Commit verification will not slow you down!
Fixing a wrong commit created hours ago is painful and costly. That's true.
Better Commit Policy works eagerly: it verifies commits before those are created.
By preventing the creation of wrong commits, there is no need to fix anything later!
Better Commit Policy is the only commit checker app for Jira with this feature. Other apps verify commits only when those are sent to the server. And that's way too late!
Watch the video in the right and read how does local verification work? →
Quick adoption
Let's face it: developers hate heavy-weight processes forced upon them.
Better Commit Policy prevents chaos and encourages good practices with a light-weight approach. Plus, without losing agility!
Works with your current tools
Your team members can use any standard-compliant VCS client (command-line, GUI tools, IDE integrations) on any Operating System.
Zero learning curve
After a couple of rejections, clean and precise commits become the new normal.
Atlassian Open DevOps experience on Jira Server
Make Jira your DevOps backbone with the help of Better DevOps Automation, a companion app for Better Commit Policy.
Automate development workflows
Free up developers from repetitive and error-prone manual tasks.
Use Commit Created, Branch Created, Tag Created triggers or @commands (entered in commits messages) to automatically notify on, build, deploy, deliver or scan your code!
Verify the tags in your repositories
-
Tag name must match a pattern
- only semantic version tags are accepted (like "10.1.0-beta")
- tag names must start with "release-" or "snapshot-"
-
Tag name must contain issue keys from a JQL query
- each tag must link to a closed issue with the "delivery" label
- each tag must link to a "ComponentVersion" type issue in the "CMDB" project
Verify the branches your developers create
-
Branch name must match a pattern
- branch names must be one of the types "feature/*", "release/*" or "maintenance/*"
- bugfix branch names must contain a test execution ID like "bugfix/1741"
-
Branch name must contain issue keys from a JQL query
- story branch names must include a "Story" type issue from the currently running Scrum sprint like "story/CAL-123-shared-calendars"
- bugfix branch names must include an unresolved "Bug" type issue assigned to the committer
Enforce useful commit messages
-
Commit message must contain issue keys from a JQL query
- no changes accepted without at least one Jira issue associated
- changes must refer to exactly one user story in the current sprint
- changes must refer to unresolved bugs and change requests planned for the next maintenance version of project FOOBAR
-
Commit message must match a pattern
- commit messages must be at least 10 characters long (excluding whitespace)
- commit messages must start with a Jira issue key
Control the file additions / deletions / modifications
-
Changed paths (files) must match a pattern
- lock the "/doc/legal" directory from modifications
- accept image files only in the "/web/static/images directory"
- reject *.tmp, *.cfg, *.obj, *.class, .* and other temporary, hidden or local environment-only files
-
Changed paths (files) must contain issue keys from a JQL query
- a "Bug" type issue must be included in the name of each file in the "patches" directory
- a "Test" type issue must be the name of each sub-directory in the "testresults" directory
Who is who and who can do what?
-
Committer must have a valid Jira account
- only users with valid Jira accounts can commit changes
- only users in the "teamleads" Jira group can commit changes
-
Committer attribute must match a pattern
- only the users "alice", "bob" or "cecil" can commit changes
- only users with an email address matching "*-ext@acmeinc.com" "can commit changes
Seamless integration with Bitbucket, GitHub & GitLab
Using one of the popular web-based Git management applications?
Better Commit Policy extends also those with commit verification functionality:
- Bitbucket Server (Git) (via a free Bitbucket app)
- Bitbucket Data Center (Git) (via a free Bitbucket app)
- Bitbucket Cloud (Git)
- GitHub (Git)
- GitHub Enterprise (Git)
- GitLab Self-Managed (Git)
- GitLab.com (Git)
Rigorous change control
Establish processes for compliance with ISO standards, IEC standards and industry regulations in:
- defence
- financial
- avionics (success story)
- automotive
- medical
- pharmaceutical
- other safety-critical systems
Or, just make sure that every change to your code is introduced in a controlled and documented way!
End-to-end traceability
Accelerate requirements validation, compliance verification, impact analysis, coverage analysis and source code audits by bi-directionally linking Jira issues and source code changes:
- requirements ⇔ code changes
- epics ⇔ user stories ⇔ code changes
- tasks / bugfixes ⇔ code changes
- tests ⇔ code changes
- change requests ⇔ sub-tasks ⇔ code changes
- releases ⇔ issues ⇔ code changes
Faster code reviews & audits
Maintain development workflows for consistent repository, code & history.
By making small improvements (useful tips) in the way your team works, common questions like these will be automatically answered:
- "Why was this changed?"
- "Was it tested? In what environments?"
- "Is this within the scope of the current release?"
- "Who approved this merge?"
- "Is there a programmatic test for this story?"
Why should I care about change control?
- Computer system failure cost British Airways $100 million
- Gartner estimates network downtime may cost $300K per hour (average)
- Software failures cause 24% percent of all the medical device recalls according to FDA
- Forrester estimates that Amazon Web Services (AWS) outage affected 100,000 sites
- Software bug would allow hackers to take control over Sydney nuclear plant
- Unauthorized changes disable $2.7 billion US Navy submarine
Integrated with the VCS tools you already use
How does it help me work better?
Helping the developer team comply with regulations and software requirements
"In the aviation industry, we need to be able to prove to authorities how exactly each aerospace system requirement is fulfilled and by what part of the source code.
Better Commit Policy makes it easy to manage our Jira work items towards those requirements, proactively control what is committed to our source code repositories, and ultimately, to comply with regulations."
– Kalen Brown, Associate Electrical and Computer Engineer
Read the story →How developers of safety-critical systems at Philips manage source code changes
"Before using commit policies, our developers’ behavior was like in the wild west.
We couldn’t match source code changes with Jira issues, it was almost impossible to understand what work has really been done, we wasted time.
The Better Commit Policy app helps us maintain a manageable development process by enforcing some configurable rules in a friendly, but strict way."
– Yakov Yukhnovetsky, DevOps Engineer
Read the story →Who's using it?
I really believe, every software company must incorporate it into its developing process.
This is a must have to have a clean repository. The ability to check the rules also locally is just great.
What I liked here, the plugin didn't force me to change how my developers want to interact with the repositories: in command line, in Bitbucket, in Jira, in any type of git clients.
Not only does this plugin provide exactly the features we were looking for, it was easy to setup with clear instructions. Support was great - extremely helpful, responsive and polite.
more reviews →While the plugin is great, the support is even greater (shout out to Gabor)! The initial environment setup was fairly easy. Just set it and forget it.
Evaluation: try before you buy
- Install the app. (how to install?)
- Get your free trial license that allows using the app without limitations for 30 days. (how to try?)
- When the trial is over, continue using the app by purchasing a commercially supported license. (how to buy?)
- Ask questions or report problems any time by clicking the "Help" tab in the right bottom. (how to get support?)
- Get the latest Better Commit Policy for Jira release announcements, best practices, tips from power users. (how to subscribe?)