Nowadays applying a fix to a project is as easy as creating a fork - which conjures up a full remote copy of the project for you to hack on - selecting the file you want to change, pressing Edit and committing your fixes. What if you are at the receiving end of a pull request (abbreviated PR in the following) instead? Using a polished web UI is great and often that's all you need. Click a button to Approve, click a button to Merge and you're done. But that's not always the case! It's a common

Continue reading »

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 »