ah5 / pr-harmony

Extra pull request workflows for Stash

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PR Harmony

YinYang

Provides additional pull request workflows for your team. Available on the Atlassian Marketplace now.

Most teams have processes around how they merge PRs, but there aren't mechanisms in Stash to ensure that no one accidentally merges something they shouldn't. This plugin attempts to address some of these shortcomings.

Branch Protection

There are branch permissions in Stash, but they interfere with merge permissions. If you want to lock down a branch to prevent direct commits, you won't be able to merge unless you grant write access to said branch (which defeats the purpose of locking it down in the first place).

This plugin gives you some extra options to make your life a little easier:

  • Block Direct Commits: Prevent any git push to branches.
  • Excluded Users: Allows particular users the ability to push to blocked branches. Handy if you have integration jobs.
  • Block Pull Requests: Prevents any pull request from being merged to branches. Handy if you have branches that should only be committed to by integration jobs.

Pull Request Options

These options allow more Gerrit-style voting workflows within Stash.

  • Default reviewers: Reviewers that will be added to every PR that is opened.
  • Required reviewers: Reviewers that must approve every PR that is opened.
  • # of reviews: Number of required reviewers that must approve a PR for it to be merged.
  • Automerge Pull Requests: Automatically merge pull requests when all required approvals are submitted.

Screenshots

Config

History

This plugin is a clean reimplementation of a couple of plugins I did for the Stash instance we use at work. I wanted to clean some pieces of it up after learning more about the Stash plugin API, and I thought that some users might find it useful as well. I've also expanded it a bit to do some things we didn't have a direct need for at work but that I think makes life easier on developers/admins alike.

Attributions

Yin Yang icon by Webalys

About

Extra pull request workflows for Stash

License:GNU General Public License v3.0


Languages

Language:Java 80.1%Language:JavaScript 10.0%Language:HTML 9.4%Language:CSS 0.5%