Build JIRA Server Add-on
as a Microservice
You Can Do It!
MATEJ KONECNY | SENIOR DEVELOPER | ATLASSIAN
Story of JIRA Automation Plugin
JIRA
upgrade
=
rework
Direct API
access
=
lot of power
THE GOOD THE BAD
Every JIRA
release
broke
something
There must be
a better way
P2 plugins
Use shared JVM resources
Use mainly Java APIs
Run within JIRA
External service
Resources aren’t shared
Technology agnostic
Run anywhere
Cloud has Connect
Powerful to trigger external
code on events.
Server has Webhooks
Triggered globally or from a
workflow.
Externalize f
Use REST
Forces to use stable and
versioned APIs.
Data in
Custom Fields
If this does not suffice,
you can use iframes.
Build service
Reuse service in Atlassian Connect
Example: Salesforce data in an issue
Account Owner
comes from Salesforce
But how to
build this?
Break it
into smaller
pieces
EVENT FLOW
Issue created
Created Get data
Call to Salesforce
Update
Update the issue
Microservices architecture
essentially equals to the Unix
philosophy of "Do one thing
and do it well".
Lucas Krause. Microservices: Patterns and Applications
REST calls
Instead of direct Java calls.
Use “new” tools
Custom Fields
Instead of panels*
Webhooks
Instead of Java listeners.
Let’s start
building
Skeleton app in
Node.js
React to JIRA
events
Talk back to
JIRA
Introduce
Docker
Building a service
Build a JIRA Server Add-on as a Microservice - You Can Do It!
Skeleton app in
Node.js
React to JIRA
events
Talk back to
JIRA
Introduce
Docker
Building a service
WEBHOOKS
Triggered by
… almost anything in JIRA
can be global
For any issue matching JQL
and in workflow
Workflow step triggers them
Build a JIRA Server Add-on as a Microservice - You Can Do It!
Now we have
JIRA Microservice
Webhook
REST
Skeleton app in
Node.js
React to JIRA
events
Talk back to
JIRA
Introduce
Docker
Building a service
REST done right
Create user
A dedicated account for
your integration. Including
access permissions.
Authenticate
Use Basic Auth or OAuth.
Store secrets securely! *
Handle errors
Connection errors will
happen, so handle them
gracefully.
JIRA ISSUE UPDATE
JSON
PUT
JSON
Process
data
{
fields: {
customfield_10000: ‘Fred’
},
update: {
labels: [
{add: ’Foo’}
]
}
}
Build a JIRA Server Add-on as a Microservice - You Can Do It!
Can we improve it?
JIRA Microservice
Webhook
REST
Skeleton app in
Node.js
React to JIRA
events
Talk back to
JIRA
Introduce
Docker
Building a service
Containerize!
MicroserviceJIRA
Webhook
REST
Dockerize!
DockerJIRA
Webhook
REST
Build a JIRA Server Add-on as a Microservice - You Can Do It!
Improve
speed with
Redis
Docker Compose
Redis
Build a JIRA Server Add-on as a Microservice - You Can Do It!
Embrace
the new
possibilities
New Possibilities
Use other services
Docker, Redis, Lambda, SQS …
Logging and monitoring
Running a service means log
aggregation and monitoring too.
Be stateless
You can easily scale horizontally by
adding more workers.
Deploy and run
Run in Heroku or DigitalOcean, or go
with AWS.
Gotchas
Networking
Have a route between JIRA and your service.
VPC peering / IPSec tunnel
Needs a bit more admin work, but is doable.
Or distribute a Docker container
Just package your service and distribute it.
Marketplace listing
Create a bootstrap P2 plugin.
Auto-provision
Automate user provisioning and secrets exchange.
Guide the user through the setup
If you need to do manual setup, create a guide.
Custom UI is more work
Use Custom Fields or an iframe.
Consider using Entity Properties
If you do not need to display the data directly.
Is it all worth it?
Additional wins
Reuse
The service can possibly
be reused in Connect.
ZDU
Zero-downtime upgrades.
Everyone on the latest version.
Learn
Expand your knowledge with
new technologies.
Pick the
right tools
and
go build it
Thank you!
MATEJ KONECNY | SENIOR DEVELOPER | ATLASSIAN

More Related Content

PDF
CCNAv5 - S1: Chapter 4 - Network Access
PPTX
CCNA v6.0 ITN - Chapter 07
PDF
Bringing Server Add-ons to the Cloud and Back Again
PDF
Tempo’s Journey Into the Cloud
PDF
Building Search for Bitbucket Cloud
PDF
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
PDF
Shipping to Server and Cloud with Docker
PDF
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons
CCNAv5 - S1: Chapter 4 - Network Access
CCNA v6.0 ITN - Chapter 07
Bringing Server Add-ons to the Cloud and Back Again
Tempo’s Journey Into the Cloud
Building Search for Bitbucket Cloud
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
Shipping to Server and Cloud with Docker
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons

Viewers also liked (20)

PDF
React for Re-use: Creating UI Components with Confluence Connect
PDF
Ten Battle-Tested Tips for Atlassian Connect Add-ons
PDF
Securing Your Atlassian Connect Add-on With JWT
PDF
Designing Add-ons for Atlassian Products, the Do’s & Don’ts
PDF
Connect First, Ask Confluence Questions Later
PDF
Launch into New Markets with JIRA Service Desk
PDF
Server Add-ons for Front-end Developers
PDF
How to be Successful in the DevOps Business
PDF
Marketplace Listings: How to Make Yours a Success
PDF
How to Make Customer Support Your Product's Greatest Feature
PDF
How to Build a Better JIRA Add-on
PDF
Adventures in Customization with Atlassian Add-ons and Integrations Using JIR...
PDF
What's New with Confluence Connect
PDF
How to Write a Chatbot that Gets Smarter
PDF
5 Essential Techniques for Building Fault-tolerant Systems
PDF
12 Ways to Supercharge Your Connect Add-on
PDF
Building for the Future: Design Your Add-on with Tomorrow in Mind
PDF
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
PDF
Know Thy Product: Tips from a Tester
PDF
Closing the Deal: How Atlassian Partners Help Grow Your User Base
React for Re-use: Creating UI Components with Confluence Connect
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Securing Your Atlassian Connect Add-on With JWT
Designing Add-ons for Atlassian Products, the Do’s & Don’ts
Connect First, Ask Confluence Questions Later
Launch into New Markets with JIRA Service Desk
Server Add-ons for Front-end Developers
How to be Successful in the DevOps Business
Marketplace Listings: How to Make Yours a Success
How to Make Customer Support Your Product's Greatest Feature
How to Build a Better JIRA Add-on
Adventures in Customization with Atlassian Add-ons and Integrations Using JIR...
What's New with Confluence Connect
How to Write a Chatbot that Gets Smarter
5 Essential Techniques for Building Fault-tolerant Systems
12 Ways to Supercharge Your Connect Add-on
Building for the Future: Design Your Add-on with Tomorrow in Mind
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Know Thy Product: Tips from a Tester
Closing the Deal: How Atlassian Partners Help Grow Your User Base
Ad

Similar to Build a JIRA Server Add-on as a Microservice - You Can Do It! (20)

PPT
Cloud Computing basic
PDF
Google App Engine
PPTX
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
PDF
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
PDF
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
PPTX
Microsoft Azure
PDF
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
PDF
Microsoft Azure For Solutions Architects
PDF
Integrating Jira Software Cloud With the AWS Code Suite
PDF
Google Cloud Next '22 Recap: Serverless & Data edition
PPTX
The Windows Azure Platform (MSDN Events Series)
PDF
Why Cloud-Native Kafka Matters: 4 Reasons to Stop Managing it Yourself
PDF
The Future of Cloud Innovation, featuring Adrian Cockcroft
PDF
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
PDF
Modernize Java Apps on Microsoft Azure
PDF
Java Web Programming Using Cloud Platform: Module 10
PDF
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
PPTX
Introduction to Cloudify for OpenStack users
PDF
Continuous Deployment @ AWS Re:Invent
PPTX
How to Optimize Your AWS Environment for Improved Cloud Performance
Cloud Computing basic
Google App Engine
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Microsoft Azure
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
Microsoft Azure For Solutions Architects
Integrating Jira Software Cloud With the AWS Code Suite
Google Cloud Next '22 Recap: Serverless & Data edition
The Windows Azure Platform (MSDN Events Series)
Why Cloud-Native Kafka Matters: 4 Reasons to Stop Managing it Yourself
The Future of Cloud Innovation, featuring Adrian Cockcroft
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
Modernize Java Apps on Microsoft Azure
Java Web Programming Using Cloud Platform: Module 10
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Introduction to Cloudify for OpenStack users
Continuous Deployment @ AWS Re:Invent
How to Optimize Your AWS Environment for Improved Cloud Performance
Ad

More from Atlassian (20)

PPTX
International Women's Day 2020
PDF
10 emerging trends that will unbreak your workplace in 2020
PDF
Forge App Showcase
PDF
Let's Build an Editor Macro with Forge UI
PDF
Meet the Forge Runtime
PDF
Forge UI: A New Way to Customize the Atlassian User Experience
PDF
Take Action with Forge Triggers
PDF
Observability and Troubleshooting in Forge
PDF
Trusted by Default: The Forge Security & Privacy Model
PDF
Designing Forge UI: A Story of Designing an App UI System
PDF
Forge: Under the Hood
PDF
Access to User Activities - Activity Platform APIs
PDF
Design Your Next App with the Atlassian Vendor Sketch Plugin
PDF
Tear Up Your Roadmap and Get Out of the Building
PDF
Nailing Measurement: a Framework for Measuring Metrics that Matter
PDF
Building Apps With Color Blind Users in Mind
PDF
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
PDF
Beyond Diversity: A Guide to Building Balanced Teams
PDF
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
PDF
Building Apps With Enterprise in Mind
International Women's Day 2020
10 emerging trends that will unbreak your workplace in 2020
Forge App Showcase
Let's Build an Editor Macro with Forge UI
Meet the Forge Runtime
Forge UI: A New Way to Customize the Atlassian User Experience
Take Action with Forge Triggers
Observability and Troubleshooting in Forge
Trusted by Default: The Forge Security & Privacy Model
Designing Forge UI: A Story of Designing an App UI System
Forge: Under the Hood
Access to User Activities - Activity Platform APIs
Design Your Next App with the Atlassian Vendor Sketch Plugin
Tear Up Your Roadmap and Get Out of the Building
Nailing Measurement: a Framework for Measuring Metrics that Matter
Building Apps With Color Blind Users in Mind
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Beyond Diversity: A Guide to Building Balanced Teams
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Building Apps With Enterprise in Mind

Recently uploaded (20)

PDF
Module 1 - Introduction to Generative AI.pdf
PDF
Multiverse AI Review 2025_ The Ultimate All-in-One AI Platform.pdf
PPTX
AI Tools Revolutionizing Software Development Workflows
PDF
Mobile App Backend Development with WordPress REST API: The Complete eBook
PDF
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
PDF
Odoo Construction Management System by CandidRoot
PPTX
Human Computer Interaction lecture Chapter 2.pptx
PPTX
Folder Lock 10.1.9 Crack With Serial Key
PPTX
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
PPTX
SAP Business AI_L1 Overview_EXTERNAL.pptx
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PDF
Crypto Loss And Recovery Guide By Expert Recovery Agency.
PPTX
Comprehensive Guide to Digital Image Processing Concepts and Applications
PPTX
Presentation - Summer Internship at Samatrix.io_template_2.pptx
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PDF
Ragic Data Security Overview: Certifications, Compliance, and Network Safegua...
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PPTX
MCP empowers AI Agents from Zero to Production
Module 1 - Introduction to Generative AI.pdf
Multiverse AI Review 2025_ The Ultimate All-in-One AI Platform.pdf
AI Tools Revolutionizing Software Development Workflows
Mobile App Backend Development with WordPress REST API: The Complete eBook
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
What Makes a Great Data Visualization Consulting Service.pdf
ROI from Efficient Content & Campaign Management in the Digital Media Industry
Odoo Construction Management System by CandidRoot
Human Computer Interaction lecture Chapter 2.pptx
Folder Lock 10.1.9 Crack With Serial Key
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
SAP Business AI_L1 Overview_EXTERNAL.pptx
Cloud Native Aachen Meetup - Aug 21, 2025
Crypto Loss And Recovery Guide By Expert Recovery Agency.
Comprehensive Guide to Digital Image Processing Concepts and Applications
Presentation - Summer Internship at Samatrix.io_template_2.pptx
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Ragic Data Security Overview: Certifications, Compliance, and Network Safegua...
Understanding the Need for Systemic Change in Open Source Through Intersectio...
MCP empowers AI Agents from Zero to Production

Build a JIRA Server Add-on as a Microservice - You Can Do It!