Top 5 New Add-ons for Atlassian Stash – First Quarter 2015
- Smart Commits for Stash by Benjamin Müller
- The Tag Maker by CalmWare
- File Hooks Plugin by Christian Galsterer
- Repository Templates for Stash by Mibex Software GmbH
- Pull Request Filter by Kyle Nicholls
You’ll learn about the problems the add-ons are meant to solve, potential benefits from using them and pricing.
1. Smart Commits for Stash
Smart Commits for Stash brings in the long-awaited functionality that a lot of Stash users had been asking for. It allows you to simplify the workflow and keep your JIRA projects up-to-date with the development flow. This add-on provides Git repository contributors with a way to perform certain JIRA and Stash actions by embedding commands into commit messages.
An action is executed if a changeset is pushed to a remote repository located in Stash. Once a changeset is received in Stash, it is parsed according to specific keywords and provided parameters. If data is valid, a requested action is executed. A single commit can define one or multiple actions, which once performed are logged with warning, information or error messages.
- creating comments for JIRA issues and/or Stash pull requests (#comment This is my example comment)
- logging work on an issue (#time 2d 5h 30m)
- adding reviewers to pull-requests (#reviewer @user1 user2)
- transitioning an issue to a different JIRA workflow status (#resolve)
- creating pull-requests to given branches (#pull master)
- reviewing pull request approvals: keeping approvals or unapproving pull requests (#keep/ #unapprove)
Pricing: Smart Commits for Stash is free. Try it
2. The Tag Maker
The Tag Maker lets you create Git tags directly in Stash. It’s simple, but so useful as makes your life a bit easier. To create a tag, it’s necessary to click ‘Tag this commit’ in the commit overview. Then you fill in a tag name and description and it’s done. A tag is created. Besides creating tags, this add-on allows:
- Viewing a list of tags (with tag name, a tagger and date of tag creation)
- Deleting tags
- Editing tag messages
- Moving tags
Pricing: The Tag Maker is free. Try it
3. File Hooks Plugin
File Hooks Plugin arms you with a tool to prevent commits containing files non-compliant with your guidelines of naming files and admissible file size from getting pushed into Git repositories, which helps you have your repositories content in line with your company standards.
This plugin adds two configurable pre-receive hooks available in repository settings, File Size Hook and File Name Hook. When these hooks are enabled and configured, file attributes (size, name) are being checked while pushing commits. Commits with non-compliant files get rejected.
- In File Size Hook you can have up to 5 hooks with a pattern (regular expressions) and a file size limit. Commits with files matching one of these hooks are rejected. This way large files, e.g. videos, high resolution images, can’t be committed. In the screenshot below you can see the hook with which all files larger than 1MB (1048576 bytes) will be rejected.
- In File Name Hook, it’s possible to specify a regular expression for a file name and a folder name. Commits with files matching the pattern get rejected.
Pricing: File Hooks Plugin is free. Try it
4. Repository Templates for Stash
With Repository Templates for Stash you can set up repository templates with configured repository settings and content. Later on you can use them to create new repositories with predefined settings and content.
How does it work?
To create a template, configure settings of any repository in a project the way you want them to be in your template. While doing that, you can:
- configure hooks, branching model, repository and branch permissions, pull request and repository details settings
- add common files (e.g., README, LICENSE, .gitattributes) and common branches (e.g., develop and master)
Then navigate to Repository Templates in Project Settings and define:
- which settings should be applied to new repositories
- which repository should be used as a default template for all newly created repositories in this project (or allow users choosing what repository to use as a template when creating new repositories)
- if the settings of repositories associated to a template should be automatically periodically reset according to the settings of the template, which allows you to manage settings centrally
A new repository created based on a default or chosen template automatically gets settings and content of that template.
Pricing: Repository Templates’ commercial license costs 80$ for 50 users (40$ for 25 users; 200$ for 100 users). Try it
5. Pull Request Filter
Pull Request Filter enables filtering open, merged and declined pull requests to view only those relevant and needed at the moment. There are various filters available. And it’s possible to apply one or several of them at a time. Your filtration results are displayed as a list, which has maximum 100 pull requests.
Filtering options include filters by:
- Number of approvals
- Title (by words or wildcards)
- Description (by words or wildcards)
- Date range or a specific date
Pricing: Pull Request Filter is free. Try it