Each quarter, Atlassian has a 24 hour hackathon, called ShipIt, where they stop all work duties to create something awesome. It embodies their culture of innovation and demonstrates a sacred company value: “Be the change you seek.”
This week, 24 non-Atlassians participated in the first Atlassian User Group (AUG) Leader ShipIt. Since we’re Atlassian customers, volunteers, and have work duties we can’t ignore, our hackathon lasted 3 weeks, instead of 24 hours. We worked nights and weekends to bring our ideas to life and then submitted our finished products as a three minute video.
We were one of 10 teams that accepted the ShipIt challenge. Our team included six AUG Leaders from all over the country. We named ourselves “Atlas”. We wanted to solve a visibility issue that impacts the AUG program and we wanted to use Atlassian products to do it.
As an Atlassian User Group Member, an AUG Leader, or member of the Atlassian Community Team, I’d like to:
- See a visual representation of the active AUG locations around the world
- Find the user groups near my location
- View each group’s size, contact details, and the website URL
- Encourage traveling users to connect with additional groups
- Create a dynamic solution which will never be out of date or require manual maintenance
- Encourage new membership by showing existing user groups
- Encourage new group formation by showing location gaps
- Use Atlassian tools to store the data and collaborate during the project
We built a dynamic map that pulls its data from Jira issues! We started with a Jira project, where each user group is represented by an issue. The project has custom fields, like “Map Location” and “Group Size”, to hold information about each group. The project has custom workflow statuses, like “Active” and “Inactive”, to show the current state of each group.
We used Jira’s REST API to retrieve issue data for only user groups in certain statuses. Next, we injected the JSON results into SQL 2016. We then restructured the data for map use. For example, we translated the plain text “Map Location” values into coordinates the Google Maps API would understand. Finally, we created a script that automates the REST API calls and the Geocoding of the locations. The script also generates an HTML file with all the user group data plotted. The process of updating the HTML file on the server is automated too. The file is uploaded to our Confluence instance and versioned through the REST API. It is also published to an external website, demonstrating additional viewing abilities.
When a user group transitions to another status, or if any Jira issue data is updated, those changes are automatically reflected on the map! This includes changes to the group’s name, estimated user counts, and group contact information. The map requires no manual updates, which was a project goal.
Clicking a map pin displays city information, like the group size, the city contact email address, and a link to the group’s website. The map also automatically centers to your current location and counts the total number of active user groups displayed. The look and feel is fully customizable and results can be embedded on other websites, including Confluence and Jira.
Additionally, we used HipChat’s Botler service to create map entry point. In HipChat, if an AUG Leader types “an AUG in” as in “Is there an AUG in Nebraska?” a link to the map will automatically appear. See our creation in action with the three minute ShipIt video below.
You can also demo our proof of concept live! NOTE: This is an “https” link with no SSL certificate installed. A browser warning will display and is expected.
Atlassian Products Used
We started collaborating in person at the Atlassian Summit user conference and used Atlassian tools to stay connected after returning home. We used:
- Trello to collect user stories, feature requests, and track progress,
- Confluence to make decisions and document solution details,
- HipChat for daily discussions and immediate feedback,
- and Jira to store all user group location and status data.
We’re very proud of what we built and had an awesome first Atlassian ShipIT experience!
- Mark Livingstone, IT Director at Qualcomm and San Diego, CA AUG Leader
- Marlon Palha, Head of Business Systems at ITHAKA and New York City AUG Leader
- Stephen Sifers, Network Operations Center Manager at Sagiss and Dallas, TX AUG Leader
- Jeff Tillett, Agile IT Operations Manager at AppDynamics and Dallas, TX AUG Leader
- Justin Witz, Chief Technology Officer at FRA PlanTools LLC and Charlotte, NC AUG Leader
- Rachel Wright, Author of the Jira Strategy Admin Workbook and member of the AUG Leader Council.