Confluence Application planning to have MongoDB as our primary data source
Asked by ABID UR RAHMAN MOHAMMED:

Confluence Application planning to have MongoDB as our primary data source


Answers:
author: Nic Brough -Adaptavist-
body: Ok, can you explain what this has to do with Confluence in more detail? And maybe give us a question, rather than a statement?

There are two things I think you might mean here:

You want to connect your Confluence to your primary data source to get some data out for display in Confluence (or possibly even read it). You'll need to explain in more detail what you're trying to do here.

You think you want to use MongoDB as the Confluence backend database. This is wrong, it is unsupported and will not work. You will need to use Postgres, MySQL, Oracle or MS-SQL.

comments: author: ABID UR RAHMAN MOHAMMED
body: We are planning to feed in the data for our Confluence application, we are planning to have MongoDB as our primary data source. We would be feeding in data to MongoDB through our SOAR platform


author: Nic Brough -Adaptavist-
body: Repeating the statement with slightly different wording does not

* explain what you are trying to do. Is it data feeding into and/or out of Confluence, or or you trying to use MongoDB for the Confluence database?
* explain why you are posting the statement here. What do you want from us?


author: ABID UR RAHMAN MOHAMMED
body: Hi All,

My requirement is i wanted import data to Confluence application from the sources like Excel, and Other Databases.

Currently my Confluence application back end database is y SQL.

I wanted to show reports and dash boards on confluence application with the help of third party add on. So i wanted to know can we integrate Confluence application with Mongo DB as source system.

Regards  
Abid


author: ABID UR RAHMAN MOHAMMED
body: Hi All,

I need to pull the data from external sources ( Mongo DB ) which is not possible then at least i am planning to pull the data from any application to confluence.

My Source is FortiSOAR application and destination is Confluence application.

Please advise is it possible with API's ?

Regards

Abid


author: Nic Brough -Adaptavist-
body: So, it depends on where you want to do the work.

* If you want Confluence to extract data from the remote Mongo database, then you'll need to do some coding in Confluence. You will be need to write something that can connect to Mongo either with a database driver/connector or by reading it indirectly via an API that some other application exposes (I mention that because you might be able to do that if FortiSOAR has remote APIs Confluence could connect to)
* If you want to work outside Confluence, then you can use Confluence's REST API to push data into it.

It sounds like you're expecting to do reporting in Confluence, which means the first approach there is likely to be the better option, but there's not a lot I can help you with there yet because your next area of thought will need to be about how you do it.

You might need to write an app for Confluence that includes the connector to the database and provides a way for Confluence to use it. Or you might decide that one of the scripting or automation apps might be better (As an obvious example, as I work for Adaptavist, I'd be reaching for Scriptrunner, as I know that at least the Jira one has specific functions for working with remote databases). If it's relatively small and fixed piece of work, you might only need to write a user macro. Much the same list of options apply if you're going to use a remote API rather than database access.


author: Miko?aj Marcoll
body: [@Nic Brough -Adaptavist-](/t5/user/viewprofilepage/user-id/781454)

If I understand you correctly, by your first approach you mean that best option is to create outside API and making a calls allows to receive or add data to mongodb database.

But I didn't understand your second approach, what do you mean by using Confluence REST API. Because I understand that I can push data to Confluence but I am not sure if could pull data from Confluence.

Regards

Miko?aj


author: Nic Brough -Adaptavist-
body: The Confluence REST API sits and listens to the outside world. If you prod it with a REST call, it will process and respond to your call. Pretty much the same as "prod a url with a browser, a server will give you a web page back. Even if it's just a raw text error", you'll get something the browser can show.

The REST API has a codified set of things it will do - these can be "get data from Confluence", but also "please update it with this data" or "run this process"

So, going back to the original question, if you wanted to update a database by using REST calls into Confluence, you can. You'd need to write something that says "Oi, Confluence, give me the answer(s) to this question" and then "Oi, database, add this stuff into yourself"


author: Miko?aj Marcoll
body: [@Nic Brough -Adaptavist-](/t5/user/viewprofilepage/user-id/781454)

My problem is that I can not connect Confluence and mongodb. I want to create a page with simple CRUD operations and when user select one of the option to create call to mongo and do this operation.

Firstly I thought that my only option is to create suitable endpoints and after that modify databases or collections in mongobd.

I read about connecting by Confluence REST API, but I still don't really get it. Could you give me some example or endpoint, and it should be done?


author: Nic Brough -Adaptavist-
body: Ok, this is getting even more confusing.

\>My problem is that I can not connect Confluence and mongodb.

There are ways to "connect" Confluence and a database given above. You will need to explain what you want from "connect"?

\>I want to create a page with simple CRUD operations

Where? Where are you doing these "operations"? In Confluence? Or another system?

\>and when user select one of the option to create call to mongo and do this operation.

One of what operations?

You can see that I am struggling because you are not explaining what you are trying to do and, more importantly where.

If you want to create and edit pages in Confluence, great, go ahead and do that. But you're not explaining what those create/edit actions have to do with this arbitrary database that has nothing to do with Confluence.

If you want to create and edit pages in a database somehow, and then have that duplicate the create and edit over into Confluence, then you will need to get your database or whatever the application is to talk to Confluence over the REST API, to tell it to make the changes you want.


Tags: server