Atlassian connect spring boot app database connectivity

Hi Team
We are developing Atlassian cloud app with Connect SDK (springboot) which will be distributed from marketplace, our app need to have relational database to read/write enities and generate analytics from it. Connect SDK provides HSQL database for dev or testing purpose. How to use any other databases like mySQL or PosgressSQL.

Assumption :- Atlassian cloud app run in container in Jira Cloud and this environment is managed Jira.
Container does not provide other databases.

Hi @dur4791 ,

I don’t have a great answer for you but hopefully this will help to move forward.

As some other developers pointed out in the past (e.g. here or here), there isn’t an out-of-the-box way to connect to a different database and we don’t have a published guide.

However, the two threads have some useful inputs to get started.

Thanks,
Caterina

Hi @dur4791,

In order to use another database with ACSB you need to make sure of two things. Firstly, you need to include the correct driver in your pom.xml. For example, if you want to use PostgreSQL then you’ll need:

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>${postgresql.version}</version>
</dependency>

Secondly, you’ll need to configure your database as a Spring datasource, so Spring knows how to connect to it. There’s several ways to do this. I personally prefer putting this information inside the application.yml:

spring.datasource:
    url: jdbc:postgresql://host:port/dbname
    username: user
    password: pw

Hope this helps!

Cheers,
Sven

1 Like

Could you elaborate more on your assumption? What does it mean “app run in a container in Jira Cloud”.

Your app you are building runs where you want to be run. Jira Cloud does not host atlassian connect apps on its own in any container and thus your app is not managed by Jira.

With Atlassian Connect you build a classic springboot app and it will be your duty to deploy the such app in any provider you want or even on a bare metal in your home, having in mind that the app should be exposed on the internet with valid DNS name and proper certificate.