Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Our First Cloud App Story: The Holy Trinity of Integrations

As developers of high-performing apps for improved productivity, our primary job before each new initiative is resolving our own productivity issues.

Recently we developed our first Cloud app that brought not just extreme pride and satisfaction but some struggles along the way. I won't lie; thanks to @Bridget, I start digging into our DevOps solutions and integrations around this first-ever Cloud product release. The result is the following interview with Yuri, a Principal Engineer who leads the Issue Matrix Cloud team. (Thanks, Yuri!)

Hearing this story for the first time reminded me of an analogy from the good ol' days. Do you remember the time when we wrote letters to our loved ones by hand? And the fascinating process of writing a letter → writing a second letter without the mistaken wording → going to the post office → buying a postmark → putting the letter in a box and hope for the best.


And that's what the whole process of releasing a Cloud app looked like to me. Pardon my comparison, but that's the best I can do. ¯\_(ツ)_/¯


Yuri shared how the integration between Bitbucket, Jenkins, and AWS saved an enormous amount of time for the whole team. Many of you know that building and deploying code for the Cloud may be quite complicated and combines a decent set of operations that need to be performed before a release.


Let's view a simple manual workflow:

Push code to Bitbucket  Run a script to assemble the build artifacts  Upload the artifacts to AWS S3  Get a link from AWS  Login to the Atlassian Marketplace  Upload app's version through the AWS link in private mode  Navigate to your Jira Cloud Staging instance (I truly hope that you are all performing this step of the process)  Update your app with the recently created private version  Run integration tests  Keep calm and wait for the green light  Update the version to Public


Fortunately, Yuri's team was able to keep the first rule of Botron's development: resolve the productivity issues, then start building. Three DevOps integrations were needed to fully automate the building and release process. 


DevOps Integration One: Bitbucket and Jenkins (Jenkins Pipelines). The purpose of this is to automatically create webhooks in Bitbucket to trigger builds, then allow Jenkins to clone/fetch from Bitbucket to run the builds.

DevOps Integration Two: Jenkins and AWS. Integration with AWS S3 to web host the application artifacts. Once you've built the proper configuration, syncing your builds to S3 will feel like a sip of fresh air, with no need to run anything in addition to running a build.

DevOps Integration Three: Jenkins, S3 and Atlassian Marketplace. The final step that uploads the metadata from S3 to the Atlassian Marketplace results in a new private version of our app, visible only to Botron's dev teams. Once the private version of our Cloud App is up and running on the Marketplace, a set of integration tests are performed in an internal Jira Cloud environment. When the lights turn green, the only manual step that left in the equation is clicking the magic button who brings our Private version to life.

Side note: the team considers automation for this one precious click, but we are still in a romantic mood, so it stays by now. (smile)


As the proverb says "Measure twice, cut once". Or measure many times, but integrate one [still valid, still ruined].


Thanks to the Cloud Team for improving our well-being 💙



M Amine
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
Jun 14, 2021

Interesting article

Teodora _Old Street Solutions_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
Jun 15, 2021

Thank you @M Amine


Log in or Sign up to comment
AUG Leaders

Atlassian Community Events