Syncing data between jira cloud and our own cloud

Hi I’m Ramakrishna, working in Uipath. Currently we’ve a jira app for one of our on-prem products(TMH), UiPath Test Manager for Jira | Atlassian Marketplace
This app syncs data between on-prem jira to on-prem TMH. This app syncs stories, issues, tasks etc between two systems.

We are evaluating an option to develop similar app for jira-cloud to TMH cloud. Can we do this as a spring boot app(atlassian connect app)? i.e. Every time user creates\update\delete a task, this app should be notified, in-turn app will make a rest call to our systems. Or a button on UI says (Push to TMH), which can make rest call to our systems.
Documentation is a little convoluted and hard to search. Could you please help me understand if this is possible?

I’ve understood, this can be done without a connect app as well, i.e.
Jira cloud to TMH cloud → Webhooks
TMH cloud to Jira cloud → Rest APIs

I’ve tried simple apps that use modules, webhooks etc.

1 Like

@RamakrishnaGrandhi, welcome to the Atlassian developer community.

Integration gets a bit tricky because of all the auth options. When you want data coming and going from Atlassian, I suggest focusing first on the API capabilities like webhooks and REST APIs. Get the right data and events flowing first, then worry about how to “encapsulate” them as an App. I recommend only reaching for Connect or Forge when you know the App needs additional UI because neither framework does much to help you with integration concerns like routing, transformations, and security outside of Atlassian. Often, the simplest thing to build for you and the easiest thing to install for customers is a 3LO App (for which you can certainly still use Spring Boot, even if not Atlassian Connect Spring Boot).

I do confirm your technical understanding:

Jira cloud to TMH cloud → Webhooks
TMH cloud to Jira cloud → Rest APIs

What is the overall architecture for your current App for on-prem Jira? Even if auth, endpoints, and payloads differ, I suspect you have a solid architecture that could be applied to Cloud.

And to probe a bit on what we could be doing to help future new developers, could you elaborate on your obstacles?

Documentation is a little convoluted and hard to search.

Thank you for reply Ibuchanan. I will get the current architecture in sometime, and post here.
About documentation,

  1. i couldn’t find an example that i can run out of box. I built one and it works fine though. I would recommend to add couple of videos, where you can show how to build an app in live coding session. Not in ppts.
  2. There were two types of webhooks in atlassian systems, 1. in system settings 2. we can give in app descriptor. But only one of these will use jwt, this point isn’t clear in documentation or i couldnt find that info.

The list goes on.

Apropos to your scenario, the webhook payloads and events are the same but the method of registration does have an impact on how they are managed. Specifically, webhooks registered by admins in system settings are seen and managed there by humans, while the webhooks registered by apps through Connect (and Forge too) are managed by the apps themselves, not by people. The webhooks for apps are “atomically” registered as part of the app so that admins cannot inadvertently break how an app functions.

Happy to help more if you can provide additional context in terms of architecture.

Thank you ibuchanan.
Sorry for late reply, i was away from work because of personal medical emergency.
Our on-prem solution works based on API key, please refer to image below.


We also provide granularity based on request type(which is user selection), we also provide manual push to our on-prem server, please refer to image below.

Can these two possible using connect app?
Also, how can we get few hours of dedicated consulting help from atlassian?

About documentation, it will be really helpful if you guys can add few videos with live coding sessions for all popular flows and integration pointss. No ppt stuff please.

@RamakrishnaGrandhi,

Thanks for the context and feedback.

Yes, the 2 UI examples you are illustrating would be possible with a Connect App.

Unfortunately, Atlassian is as “relentlessly self-service” in our developer experience, as we are in our customer service model; hence, we aren’t staffed to provide on-demand, dedicated consulting directly. Fortunately, we do have solution partners (consultants) who can provide help with our APIs and App frameworks. Look for “custom development” services in the Atlassian Partner Network.

Although I appreciate how everyone learns with different style, it’s hard for me to find the time for coding videos. However, I have started to post field notes about the topics I see in some of my targeted engagements.

Thank you @ibuchanan

  1. Given that jira cloud doesnt have that drop down, i’ve added a button like below. Can you help me understand, how can i call my java code inside connect app when user clicks it?
  2. I can develop html page that allows users to do selection of requirement types. But is there possibility of jira cloud send me webhooks based on this selection? Or does it mean, connect app has to maintain this selection, listen to all webhooks and then filter out?

Hi @ibuchanan , could you please help me with above request? I couldn’t find relevant information in documentation.

@RamakrishnaGrandhi,

You can use Atlassian Connect Spring Boot to build a Connect App. However, the logic for your button will require at least some JavaScript to capture the context of the button and pass to an API endpoint you write in Java.

Similarly, for the HTML page for selection of requirement types, the page isn’t really emitting “webhooks” but is going to be JavaScript calling API endpoints for your App. To my knowledge, there won’t be any webhook events available in Jira Cloud that are specific to your App. Jira Cloud only has events for the resources it has built-in.

1 Like

Thank you very much @ibuchanan