Hi,
I’m developing a Forge app built of Jira and Confluence modules. And I want to share user entered data between those (e.g. some user input made in a Confluence macro should be available in a Jira issue panel). I would like to ask which options exist and what are their pros/cons.
I already have some ideas I would like to share. Would do you think about those? Do you already have experience with one of them? Did I miss any good alternative?
From my understanding every Forge storage option can’t be used, because storage is separated by installation. I could bundle my app in one deployment, but it will always result in 2x installations (Jira and Confluence). Hence, this is not an option.
I could use a web trigger (or multiple) and build some kind of API behind it. For example, the Confluence app could host the “server side” (i.e. also the storage) and the Jira app would be the “client”, using the “web trigger” to fetch data.
feels like misusing the feature
configuration overhead for customer. The “client side” app somehow needs the web trigger URL of the “server side” app (+ customizable auth token)
no external third-party involved
can build a use case tailored API
I could use any external, cloud hosted, data storage solution.
data does not reside on Atlassian servers (could be a problem for some customers)
additional costs
obvious solution (feels right) to share data between two isolated silos
I could leverage Atlassian REST APIs. For example I could store all data in Confluence page properties and put a label on relevant pages. On Jira side it is then very easy to request the labeled pages and their properties.
page properties could be edited (and broken) by anyone
great for metadata and simple attributes but not for larger amount of user given data
easy to use and everything built-in
Looking forward for your feedback!