Recap: Our 24-hour hackathon for Make a Diff

Just over a week ago, Atlassian hosted a hackathon in the new Austin office to help support Atlassian Foundation’s Make a Diff initiative; a website designed to help charity organizations crowd-source their technical projects to anyone who wants to donate their time and skills to worthwhile causes. With about 10 volunteers, both external and Atlassian employees, we accomplished a great deal in 24 hours and paved the way for the success of Make A Diff. During that time we... Completed: Major

Continue reading »

Confluence tip of the month: shares vs. @mentions

To anyone who doubts that Atlassians are a little too obsessed with collaboration, and tools related thereto, let me describe a recent discussion we had (which took place on our internal Confluence, of course). It was lamented that, when you share a page and include a note, those thoughts are read by one person, then languish forever in their inbox. There’s no clean way to reply to them, and nobody else can benefit from what you had to say. By building the share-by-email feature, had we inadvertently

Continue reading »

What the heck is the quiet period? The quiet period is a optional setting on each repository connected to Bamboo. After seeing that a commit has been made to the repo, the quiet period (if enabled) tells Bamboo how long to wait before actually kicking off the build. It lives under the Advanced options in the Linked Repositories configuration screen. Here's what the configuration looks like: Fun Fact! The quiet period was originally invented to cater for the fact that CVS commits are

Continue reading »

At the heart of every software team is a vibrant culture around creation, organization, and delivery of work. All types of work – be it new features, bugs, spikes… are called 'issues' inside of JIRA. Issues provide a flexible way to organize and distribute work across the team so that everyone remains productive and the whole organization runs at a smooth cadence. This article will focus on three key mistakes teams make and how to correct them when using issues to track work. From feature

Continue reading »

In the Engineering Services team at Atlassian, we’re busily building out a microservice-based architecture for our applications. This is a massive change for us, and it is imperative that our changes are ’safe’, i.e. we prove as much as possible that we cannot inadvertently destroy data, and we can recover from any data issues that we do encounter. This led us to implement an event sourcing model for our entity store in Scala, where we store full history of changes to entities so that we can

Continue reading »

Last week, Tim Pettersen and I held a webinar on optimizing your CI system for Git. We had a great time putting it together, and attendees asked some truly excellent questions, so I think we can safely call this one a success. To sum up, we covered... Why branch-and-merge workflows are so effective (and easier in Git than in SVN, et al) Strategies for reducing build times How to reap the benefits of "pure" CI without piling changes willy-nilly onto a central branch Git hooks that reinforce

Continue reading »