A Confluence site may consists of multiple "spaces", each of which may have wiki pages and / or blog posts. The site may be open to the public, in which case there is no configuration to perform within the Confluence site, or it may be private - in which case, it will be necessary to create a private Atlassian Application that provides access. The first section of this article describes how to import from a public site, since that is more straight forward, and then the second section will expand on this and document the additional steps required to import from a private site.

For importing either public or private sites, it is presumed that you have:

  • an administrator account for your Curiosity application

  • an administrator account for enabling access to your private Confluence site, if applicable (you will not need one for importing public Confluence site data)

This connector will import the wiki pages and blog posts as "Web Page" nodes that include text extracted from the source file and a link to the original page. You may search for content within these just as with any other node.

Importing Spaces, Wiki Pages and Blog Posts from a public site

Within Curiosity, click the menu button at the top left, then click Sources Hub and then Confluence.

Click + Add and enter descriptive names for the "Name" and "Source" and then enter the URL for the root of the Confluence site. For this example, it may look like this:

For information about scheduling tasks and running them outside of their schedule, click here.

Click Save.

You will now see an entry in the Confluence Task list that looks like this:

Click Play to trigger it immediately.

When you do so, the "Status" message at the bottom of the task container will change to indicate that has started running and when:

When the import has completed, the status text in this view will automatically be updated - indicating how long it took to run and whether any errors were encountered in the import or not.

If you want to see more details from the import - either live, as the import is occurring, or to see more details about a previously-run import, click the Logs button (the "five lines" icon to the right of the recycle bin).

If the import is still running when the logs window is open then it will be updated automatically.

Importing a private Confluence site

In order to retrieve information from a private Confluence installation, you must create an Atlassian Application that Curiosity may use to request the data via.

To do this, while logged in as a User that has administrative privileges for the Confluence site -

  • if your Confluence deployment is cloud-based then go to https://developer.atlassian.com/apps

  • if your Confluence deployment isn't hosted by Atlassian then go to App Settings in your local instance

Click on Create new app. Enter a descriptive name (such as "Curiosity Import"), tick the box to agree to the Atlassian developer terms and then click Create.

Copy the Client ID and Secret for later.

Note that the "Status" of the application is specified as "In development" and that there is an option to "Distribute" under the "App details" section in the left hand menu to make the application public and allow you to share it with people outside of your company. This is not required for the purposes of the Curiosity Confluence Import process and so this application may remain private and "In development" indefinitely.

Click on the OAuth 2.0 (3LO) link in the left hand side menu.

You need to tell the authorization process how to get back to Curiosity after a successful login, which is the purpose of the "Callback URL" value. The format of it is:

{domain}/api/atlassianimportauth/completed-login-attempt

If your application is hosted by Curiosity then it will look something like this:

https://example.curiosity.sh/api/atlassianimportauth/completed-login-attempt

If you have installed a local instance of the application with the default settings then it will look like this:

http://localhost:8080/api/atlassianimportauth/completed-login-attempt

Enter the appropriate value and click Save changes.

You will now be information that "Your app doesn't have any APIs" and there is a link to Add APIs in that message. Click it (or click the + Add under the "APIS AND FEATURES" section in the left hand menu).

Click Add for the Confluence API. This will add "Confluence API" to the left hand menu under "APIS AND FEATURES". Click on the link there.

This will show a list of "scopes" for the application - these define what the application may or may not do. The default selections are suitable for the purposes of this import because they allow reading of content for the Confluence site but not writing.

Configuring a private Confluence site import task is similar to configuring a public import task. Within Curiosity, click the menu button at the top left, then click Sources Hub and then Confluence.

Click + Add and enter descriptive names for the "Name" and "Source", enter the URL for the root of the Confluence site, the Client ID, and the Client Secret that you copied earlier. For this example, it may look like this:

Click Save.

Now the new task will appear in the list of Confluence Tasks.

As this is a private Confluence site, access via the Confluence application must be authorized. This has only become possible now that the task has been configured in its initial state. Click on the title of the task that you just created and note that there is now a red Authorize button alongside Save to click to authorize access -

This will redirect you to an Atlassian site where you should still be logged in as the User that had the admin privileges required to create the Atlassian application earlier.

Note that this page highlights that the application is in development mode and "may post a risk to your personal data". As you configured this application, you can be confident that this will not be the case. The list of permissions enabled for the application are listed needed the top as a reminder that this application can only read data from your Confluence site and not edit anything.

Whether you have one or multiple Confluence sites, you must select which you wish to authorize access to at this point by choosing an option from the drop down list.

Click Accept.

You will be redirected back to the Curiosity system and you will see that the Authorize button has been replaced with a key icon to indicate that your account has been authorized for data to be imported into Curiosity.

The task is now ready to be run.

As with a public Confluence site task, you may wait until it runs at its scheduled time or you may click the Play button now to run it immediately.

When it runs, the "Status" message in the task entry on the left will update. If you want to see more details from the import - either live, as the import is occurring, or to see more details about a previously-run import, click the Logs button (the "five lines" icon to the right of the recycle bin).

Did this answer your question?