I have written about Atlassian on this blog (see for example: Atlassian Makes Significant Moves into the Enterprise Market). In this post, I focus on Atlassian Stash. It provides Git repository management for Enterprise teams behind the firewall.
I spoke with Jens Schumacher, Atlassian’s Group Product Manager for developer tools. These tools include: Bamboo, Crucible, Fisheye, and Stash. Bamboo provides continuous integration and release management. Crucible supports code review and Fisheye allows you to search out source code artifacts of various source code management flavors and browse commits, files, revisions, or related people. It also integrates seamlessly with JIRA.
Enter Stash! Stash incorporates the latest and greatest technologies in DVCS source code management and Git, allowing you to create and manage repositories, set up fine-grained permissions, and collaborate on code in a secure, fast and enterprise-grade manner.
Jens continued, providing me more background on the development of Stash.
Stash is the latest in Atlassian’s developer tools suite and was released in the Spring of 2012. Atlassian’s existing developer tools are already quite popular in development houses, but still the developers wanted more. They wanted to be able to host code in their own repository behind the firewall.
To cleanly meet this need in both a tool and extensibility, Atlassian decided to build Stash from scratch including a ground up extensible API approach, rather than on top of their existing tools.
To facilitate development, Stash allows developers to set up branches, where code changes can be made in isolation and reviewed before being integrated with the mainline. This separation makes development of new features less complex.
You can easily have new code reviewed while incorporating automated testing tools as well. Stash facilitates the merging of reviewed code into the core source code. This concept of a separate workflow for development is popular with open source efforts and Atlassian has now taken a leading industry position with the Stash offering, enabling this capability inside the firewall.
Integration efforts with Stash are already supported in a number of ways.
- Per Jens, 80% of the Fortune 500, as well as many many smaller firms, use Atlassian JIRA for issue tracking.Stash is fully integrated with JIRA so you can link code in Stash to a JIRA ticket and track the progress of changes.
- Stash also natively integrates with enterprise user directory systems, such as Active Directory or LDAP, to make deployment easier within the enterprise.In addition, again, Stash was built with an extensive REST API to make information within Stash easily integrate-able with other tools.
Jens gave me a simple use case. Their customers often want to migrate content from one repository to another or from the cloud to within the firewall. Stash can automate aspects of this common process to simplify the effort.
In the future, Stash will be enhanced with more branch permission capabilities to better ensure that all code gets reviewed before it is merged into the core source code. They are also working hard on scalability requirements to better serve their many large customers. Currently, Stash supports up to 500 user licenses. Finally, they are working on adding enhanced collaboration capabilities for code review.
Jens noted that Atlassian has a massive ecosystem. This is helpful as there already are a number of add-ons for Stash. For example, there is a badge add-on to acknowledge developers’ efforts and skills. Another is a chart add-on to provide statistics. AppFusions built a Stash commenting add-on for Atlassian’s annual CodeGeist competition. Also, add-ons are available to help with different workflows that organizations have in place.
On top of all that, Atlassian’s very popular SourceTree DVCS client further removes DVCS source code tool complexity, and is used to support and guide the process of adding new workflows with proper controls within branching efforts, among other.
Customer response has been very positive since the release of Stash earlier this year. The timing was right for the release, as developers were ready for it.
Jens’ team is now providing new releases every 7 – 9 weeks, with many of the new capabilities coming from customer input.
New needs are always arising in enterprise software development efforts, and many organizations and third party developers want to tackle these needs. Stash provides enhanced support for these efforts.