Skip to Content

Confluence Connection Details

Introduction

Connector Version

This documentation is based on version 25.0.9368 of the connector.

Get Started

Confluence Version Support

The connector leverages the Confluence API v2 to enable bidirectional access to Confluence.

Establish a Connection

Connect to Confluence

You can establish a connection to any Confluence Cloud account or Confluence Server instance. To connect set the URL connection property. For example, https://yoursitename.atlassian.net.

Authenticate to Confluence

Confluence supports the following authentication methods: API token, Basic authentication, OAuth 2.0, and SSO.

API Token
Confluence Cloud Account

Acquire a Token

An API token is necessary for account authentication. To generate one, log in to your Atlassian account and select API tokens > Create API token. The generated token is displayed.

Authenticate Using the Token

To authenticate to a Cloud account, provide the following (Note: Password has been deprecated for connecting to a Cloud Account and is now used only to connect to a Server Instance.):

  • AuthScheme: Set this to APIToken.
  • User: The user to be used to authenticate with the Confluence server.
  • APIToken: The API Token associated with the currently authenticated user.
  • URL: The URL associated with your Confluence endpoint. For example, https://yoursitename.atlassian.net.
Basic Authentication
Confluence Server Instance

To authenticate to a Server instance, specify the following:

  • AuthScheme: Set this to Basic.
  • User: The user to authenticate with the Confluence instance.
  • Password: The password which is used to authenticate with the Confluence server.
  • URL: The URL associated with your Confluence endpoint. For example, https://yoursitename.atlassian.net.
OAuth

In all cases, you must set AuthScheme to OAuth and Scope to the value obtained from your application settings. In all the flows described below, it is assumed that you have done so.

Note

OAuth 1.0 is deprecated in Confluence Cloud and should only be used by hosted Confluence users.

Desktop Applications

This section describes desktop authentication using the credentials for your custom OAuth app. See Creating a Custom OAuth App for more information.

Get an OAuth Access Token

After setting the following, you are ready to connect:

  • OAuthClientId: Set to the client ID in your app settings.
  • OAuthClientSecret: Set to the client secret in your app settings.
  • CallbackURL: Set to the Redirect URL in your app settings.
  • OAuthVersion: Set to 2.0.
  • URL: The URL to your Confluence endpoint; for example, https://yoursitename.atlassian.net.
  • InitiateOAuth: Set to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.

When you connect, the connector opens the OAuth endpoint in your default browser. Log in and grant permissions to the application. The connector then completes the following OAuth process:

  1. Extracts the access token from the callback URL and authenticates requests.
  2. Obtains a new access token when the old one expires.
  3. Saves OAuth values in OAuthSettingsLocation. These values persist across connections.
Crowd

Set the AuthScheme to Crowd, then configure these connection properties:

  • User: The CROWD user account.
  • Password: The password associated with the Crowd account.
  • SSOLoginURL: The login URL associated with the Crowd account. You can find the IDP URL by navigating to your application > SSO > SSO information > Identity provider single sign-on URL.
  • SSOAppName: The name of the application in which SSO is enabled.
  • SSOAppPassword: The password of the application in which SSO is enabled.
  • SSOExchangeURL: The URL used used to exchange the SAML token for Confluence cookies. This URL may have the following formats:
    • https://<authority of Confluence instance>/plugins/servlet/samlconsumer
    • https://<authority of Confluence instance>/plugins/servlet/samlsso

Example connection string:

AuthScheme=Crowd;Url=https://yoursitename.atlassian.net;SSOLoginURL='https://<authority>/crowd/console/secure/saml/sso.action';User=crowdUserName;Password=crowdPassword;SSOExchangeUrl=https://<authority of Confluence instance>/plugins/servlet/samlconsumer;SSOAppName=CrowdAppName;SSOAppPassword=CrowdAppPassword;
Okta

To connect to Okta, set these properties:

  • AuthScheme: Okta.
  • User: The authentiating Okta user.
  • Password: The password of the authenticating Okta user.
  • SSOLoginURL: The SSO provider's login URL.
  • SSOExchangeURL: The URL used used to exchange the SAML token for Confluence cookies. This URL may have the following formats:
    • https://&lt;authority of Confluence instance>/plugins/servlet/samlconsumer
    • https://&lt;authority of Confluence instance>/plugins/servlet/samlsso

If you are either using a trusted application or proxy that overrides the Okta client request OR configuring MFA, you must use combinations of SSOProperties to authenticate using Okta. Set any of the following, as applicable:

  • APIToken: When authenticating a user via a trusted application or proxy that overrides the Okta client request context, set this to the API Token the customer created from the Okta organization.

  • MFAType: If you have configured the MFA flow, set this to one of the following supported types: OktaVerify, Email, or SMS.

  • MFAPassCode: If you have configured the MFA flow, set this to a valid passcode.

    If you set this to empty or an invalid value, the connector issues a one-time password challenge to your device or email. After the passcode is received, reopen the connection where the retrieved one-time password value is set to the MFAPassCode connection property.

  • MFARememberDevice: True by default. Okta supports remembering devices when MFA is required. If remembering devices is allowed according to the configured authentication policies, the connector sends a device token to extend MFA authentication lifetime. If you do not want MFA to be remembered, set this variable to False.

Example connection string:

AuthScheme=Okta;Url=https://yoursitename.atlassian.net;SSOLoginURL='https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46';User=oktaUserName;Password=oktaPassword;SSOExchangeUrl=https://<authority of Confluence instance>/plugins/servlet/samlconsumer;

Create a Custom OAuth App

If you do not have access to the user name and API token or do not wish to require them, you can use OAuth authentication. Confluence uses the OAuth authentication standard, which requires the authenticating user to interact with Confluence via the browser. Please note OAuth 2.0 only is supported for Confluence Cloud.

Create an OAuth App

To obtain the OAuth client credentials, consumer key, and consumer secret:

  1. Log in to your Confluence Cloud site.
  2. Navigate to your application management (https://developer.atlassian.com/apps/).
  3. Select Create new app, then name the application. The application is created.
  4. If missing, add OAuth 2.0 functionality to your application by navigating to APIS AND FEATURES > + Add > Add OAuth 2.0 (3LO).
  5. From APIS AND FEATURES > + Add, add the Confluence platform REST API to your application. Please note that you also need to add the Confluence application to get all of the functionalities of the driver.
  6. From APIS AND FEATURES > + Confluence platform REST API, add the desired scopes to your application.
  7. You also need to set your Callback URL. Navigate to APIS AND FEATURES > OAuth 2.0 (3LO). Enter a URL that is accessible to your applicationand save the changes.

Fine-Tuning Data Access

Fine Tuning Data Access

You can use the following properties to gain more control over the data returned from Confluence:

  • IncludeArchivedSpaces: Include content from archived spaces in the result. This defaults to false.
  • SpaceKey: Search results will only display contents from the specified space.
  • Timezone: The timezone of the Confluence instance. The appropriate datetime filters will be used to retrieve results in accordance with the specified timezone.

Important Notes

Configuration Files and Their Paths

  • All references to adding configuration files and their paths refer to files and locations on the Jitterbit agent where the connector is installed. These paths are to be adjusted as appropriate depending on the agent and the operating system. If multiple agents are used in an agent group, identical files will be required on each agent.

Advanced Features

This section details a selection of advanced features of the Confluence connector.

User Defined Views

The connector supports the use of user defined views, virtual tables whose contents are decided by a pre-configured user defined query. These views are useful when you cannot directly control queries being issued to the drivers. For an overview of creating and configuring custom views, see User Defined Views.

SSL Configuration

Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats. For further information, see the SSLServerCert property under "Connection String Options".

Proxy

To configure the connector using private agent proxy settings, select the Use Proxy Settings checkbox on the connection configuration screen.

Query Processing

The connector offloads as much of the SELECT statement processing as possible to Confluence and then processes the rest of the query in memory (client-side).

For further information, see Query Processing.

Log

For an overview of configuration settings that can be used to refine logging, see Logging. Only two connection properties are required for basic logging, but there are numerous features that support more refined logging, which enables you to use the LogModules connection property to specify subsets of information to be logged.

User Defined Views

The Confluence connector supports the use of user defined views: user-defined virtual tables whose contents are decided by a preconfigured query. User defined views are useful in situations where you cannot directly control the query being issued to the driver; for example, when using the driver from Jitterbit.

Use a user defined view to define predicates that are always applied. If you specify additional predicates in the query to the view, they are combined with the query already defined as part of the view.

There are two ways to create user defined views:

  • Create a JSON-formatted configuration file defining the views you want.
  • DDL statements.

Define Views Using a Configuration File

User defined views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The connector automatically detects the views specified in this file.

You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the connector.

This user defined view configuration file is formatted so that each root element defines the name of a view, and includes a child element, called query, which contains the custom SQL query for the view.

For example:

{
    "MyView": {
        "query": "SELECT * FROM Pages WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Define Views Using DDL Statements

The connector is also capable of creating and altering the schema via DDL Statements such as CREATE LOCAL VIEW, ALTER LOCAL VIEW, and DROP LOCAL VIEW.

Create a View

To create a new view using DDL statements, provide the view name and query as follows:

CREATE LOCAL VIEW [MyViewName] AS SELECT * FROM Customers LIMIT 20;

If no JSON file exists, the above code creates one. The view is then created in the JSON configuration file and is now discoverable. The JSON file location is specified by the UserDefinedViews connection property.

Alter a View

To alter an existing view, provide the name of an existing view alongside the new query you would like to use instead:

ALTER LOCAL VIEW [MyViewName] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

The view is then updated in the JSON configuration file.

Drop a View

To drop an existing view, provide the name of an existing schema alongside the new query you would like to use instead.

DROP LOCAL VIEW [MyViewName]

This removes the view from the JSON configuration file. It can no longer be queried.

Schema for User Defined Views

In order to avoid a view's name clashing with an actual entity in the data model, user defined views are exposed in the UserViews schema by default. To change the name of the schema used for UserViews, reset the UserViewsSchemaName property.

Work with User Defined Views

For example, a SQL statement with a user defined view called UserViews.RCustomers only lists customers in Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

An example of a query to the driver:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Resulting in the effective query to the source:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

That is a very simple example of a query to a user defined view that is effectively a combination of the view query and the view definition. It is possible to compose these queries in much more complex patterns. All SQL operations are allowed in both queries and are combined when appropriate.

SSL Configuration

Customize the SSL Configuration

To enable TLS, set the following:

  • URL: Prefix the connection string with https://

With this configuration, the connector attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.

To specify another certificate, see the SSLServerCert connection property.

Client SSL Certificates

The Confluence connector also supports setting client certificates. Set the following to connect using a client certificate.

Confluence Cloud Data Model

Overview

This section shows the available API objects and provides more information on executing SQL to Confluence APIs.

Key Features

  • The connector models Confluence entities like pages, blogposts, comments, attachments, spaces, audit records and users as relational views, allowing you to write SQL to query Confluence data.
  • Live connectivity to these objects means any changes to your Confluence account are immediately reflected when using the connector.

Views

Views describes the available views. Views are statically defined to model AuditRecords, Pages, Blogposts, Comments, Attachments, Contributors, Labels, Spaces and Users.

Tables

The connector models the data in Confluence as a list of tables in a relational database that can be queried using standard SQL statements.

Confluence Connector Tables

Name Description
Pages Generated schema file.

Pages

Generated schema file.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector. You can also search for Attachments using CQL (Confluence Query Language).

  • Id supports the '=,!=,IN,NOT IN' comparisons.
  • Type supports the '=,!=,IN,NOT IN' comparisons.
  • Title supports the '=,!=,LIKE,NOT LIKE,IN,NOT IN' comparisons.
  • SpaceKey supports the '=,!=,IN,NOT IN' comparisons.
  • SpaceType supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedByUserName supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedDate supports the '=,!=,>,>=,<,<=' comparisons.
  • LastUpdatedDatetime supports the '=,!=,>,>=,<,<=' comparisons.

For example, the following queries are processed server side:

SQL
SELECT * FROM Pages WHERE Id = '1234'

SELECT * FROM Pages WHERE Id IN ('1234', '2345')

SELECT * FROM Pages WHERE Id = '294922' OR Type = 'page'


SELECT * FROM Pages WHERE CreatedDate <= '2019/03/29 15:00' AND ID IN ('1234', '2345')

Additionally Id, Type, Title, CreatedDate, CreatedByUserName, AND LastUpdatedDatetime columns can be used in the ORDER BY clause, as following:

SELECT * FROM Pages ORDER BY Id DESC

SELECT * FROM Pages ORDER BY CreatedByUserName ASC
CQL

Note: Filtering with CQL has the highest priority and all the other filters except "Excerpt" will be ignored when CQL filter is present in the query.

SELECT * FROM Pages WHERE CQL = 'creator = currentUser() AND content = "1234" OR space.type = "global"'
Columns
Name Type ReadOnly References SupportedOperators Description
Id [KEY] String False =, !=, IN, NOT_IN Id of the content.
Type String True =, !=, IN, NOT_IN Type of the content.
Title String False =, !=, IN, NOT_IN, LIKE Title of the content.
Status String False =, IN Status of the content.
Storage String False The body content storage of the page..
AtlasDocFormat String False The body content in atlas doc format of the page.
Position Integer True Position of the content.
OwnerId String False Id of the owner of the page.
ParentId Long False The ID of the parent page.
SpaceId String False The ID of the space the page rests.
SpaceKey String True Spaces.Key =, !=, IN, NOT_IN The key of the space that the content belongs to.
SpaceType String True Spaces.Type =, !=, IN, NOT_IN The type of the space that the content belongs to.
URL String True URL of the content.
Excerpt String True Excerpt of the content.
IsLatest Boolean True Indicator if this is the latest version of the content.
CreatedByUserName String True =, !=, IN, NOT_IN Username of the user who created the content.
CreatedByUserType String True Type of the user who created the content.
CreatedDate Datetime True =, >, >=, <, <= Datetime for the creation of the content.
LastUpdatedDatetime Datetime True =, >, >=, <, <= Datetime of the last updated version of the content.
LastUpdatedMessage String True Message of the last updated version.
LastUpdatedNumber Integer True Number of the last updated version.
LastUpdatedUserName String True Username of the user who updated the latest version.
LastUpdatedUserType String True Type of the user who updated the latest version.
LastUpdatedIsMinorEdit Boolean True Indicator if this version is a minor edit.
LastUpdatedIsHidden Boolean True Indicator if the last updated version is hidden or not.
PreviousVersionUserName String True Username of the user who updated the previous version.
PreviousVersionUserType String True Type of the user who updated the previous version.
PreviousVersionDatetime Datetime True Datetime when the previous version was edited.
PreviousVersionMessage String True Message for the previously edited version.
PreviousVersionNumber String True Number of the previously edited version.
PreviousVersionIsMinorEdit Boolean True Indicator if the previous version was a minor edit.
PreviousVersionIsHidden Boolean True Indicator if the previous version was hidden or not.
VersionUserName String True Username of the user who updated the previous version.
VersionUserType String True Type of the user who updated the previous version.
VersionDatetime Datetime True Datetime when the previous version was edited.
VersionMessage String False Message for the previously edited version.
VersionNumber Integer False Number of the previously edited version.
VersionIsMinorEdit Boolean True Indicator if the previous version was a minor edit.
VersionIsHidden Boolean True Indicator if the previous version was hidden or not.
LinksEditui String True The LinksEditui of the page content.
LinksSelf String True The LinksSelf of the content.
LinksTinyui String True The LinksTinyui of the content.
LinksWebui String True The LinksWebui of the content.
ItemURL String True The URL reference of the element in UI.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String CQL (Confluence Query Language) allows you to build structured queries.

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

Confluence Connector Views

Name Description
AllUsers Get a list of all registered, enabled or disabled users. This view is exposed only when connecting to a server instance.
Attachments Get information about a specific attachment.
AuditRecords Fetch a paginated list of AuditRecord instances dating back to a certain time.
Blogposts Get information about a specific blogpost.
Comments Get information about a specific comment.
Contributors Get information about the users who have contributed to the content.
GroupMembers Get users of a specific group.
Groups Get information about a specific group.
GroupsContentRestrictions Retrieve information related to the groups restrictions applied to a certain content. The maximum number of restrictions per operation is limited to 200. ContentId is required.
Labels Get information about the labels that a specific content has.
PageAncestors To look at a page hierarchy including who is the parent page.
PageChildren To look at a page hierarchy including who is the child page.
PageComments Get comments specific to a page.
PageContents Get content from the page.
SpacePermissions Returns space permissions for the specified space(s).
Spaces Returns information about a number of spaces.
Tasks Get information regarding tasks.
Users Get information about a user identified.
UsersContentRestrictions Retrieve information related to the users restrictions applied to a certain content. The maximum number of restrictions per operation is limited to 200. ContentId is required.
ViewersAnalytics Get the total number of distinct viewers a piece of content has.
ViewsAnalytics Get the total number of views a piece of content has.
Whiteboards Get information about whiteboards.

AllUsers

Get a list of all registered, enabled or disabled users. This view is exposed only when connecting to a server instance.

Columns
Name Type References SupportedOperators Description
UserKey [KEY] String = Unique key for the specific user.
UserName String User name of the specific user.
Status String Status of the specific user.
Type String Type of the specific user.
ProfilePicturePath String Path of the profile picture file.
ProfilePictureWidth Integer Profile picture width.
ProfilePictureHeight Integer Profile picture height.
IsDefaultPicture Boolean Indicator showing if the profile picture is never changed.
DisplayName String Display name of the specific user.

Attachments

Get information about a specific attachment.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector. You can also search for Attachments using CQL (Confluence Query Language).

  • Id supports the '=,!=,IN,NOT IN' comparisons.
  • Type supports the '=,!=,IN,NOT IN' comparisons.
  • Title supports the '=,!=,LIKE,NOT LIKE,IN,NOT IN' comparisons.
  • SpaceKey supports the '=,!=,IN,NOT IN' comparisons.
  • SpaceType supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedByUserName supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedDate supports the '=,!=,>,>=,<,<=' comparisons.
  • LastUpdatedDatetime supports the '=,!=,>,>=,<,<=' comparisons.

For example, the following queries are processed server side:

SQL
SELECT * FROM Attachments WHERE Id = '1234'

SELECT * FROM Attachments WHERE Id IN ('1234', '2345')

SELECT * FROM Attachments WHERE Id = '294922' OR Type = 'attachment'

SELECT * FROM Attachments WHERE CreatedDate <= '2019/03/29 15:00' AND Id IN ('1234', '2345')

Additionally Id, Type, Title, CreatedDate, CreatedByUserName, AND LastUpdatedDatetime columns can be used in the ORDER BY clause, as following:

SELECT * FROM Attachments ORDER BY Id DESC

SELECT * FROM Attachments ORDER BY CreatedByUserName ASC
CQL

Note: Filtering with CQL has the highest priority and all the other filters except "Excerpt" will be ignored when CQL filter is present in the query.

SELECT * FROM Attachments WHERE CQL = 'creator = currentUser() AND content = "1234" OR space.type = "global"'
Columns
Name Type References SupportedOperators Description
Id [KEY] String =, !=, IN, NOT_IN Id of the content.
Type String =, !=, IN, NOT_IN Type of the content.
Title String =, !=, IN, NOT_IN, LIKE Title of the content.
Status String Status of the content.
SpaceKey String Spaces.Key =, !=, IN, NOT_IN The key of the space that the content belongs to.
SpaceType String Spaces.Type =, !=, IN, NOT_IN The type of the space that the content belongs to.
Position String Position of the content.
URL String URL of the content.
Excerpt String Excerpt of the content.
IsLatest Boolean Indicator if this is the latest version of the content.
CreatedByUserName String =, !=, IN, NOT_IN Username of the user who created the content.
CreatedByUserType String Type of the user who created the content.
CreatedDate Datetime =, >, >=, <, <= Datetime for the creation of the content.
LastUpdatedDatetime Datetime =, >, >=, <, <= Datetime of the last updated version of the content.
LastUpdatedMessage String Message of the last updated version.
LastUpdatedNumber Integer Number of the last updated version.
LastUpdatedUserName String Username of the user who updated the latest version.
LastUpdatedUserType String Type of the user who updated the latest version.
LastUpdatedIsMinorEdit Boolean Indicator if this version is a minor edit.
LastUpdatedIsHidden Boolean Indicator if the last updated version is hidden or not.
PreviousVersionUserName String Username of the user who updated the previous version.
PreviousVersionUserType String Type of the user who updated the previous version.
PreviousVersionDatetime Datetime Datetime when the previous version was edited.
PreviousVersionMessage String Message for the previously edited version.
PreviousVersionNumber String Number of the previously edited version.
PreviousVersionIsMinorEdit Boolean Indicator if the previous version was a minor edit.
PreviousVersionIsHidden Boolean Indicator if the previous version was hidden or not.
LinksEditui String The LinksEditui of the page content.
LinksSelf String The LinksSelf of the content.
LinksTinyui String The LinksTinyui of the content.
LinksWebui String The LinksWebui of the content.
ItemURL String The URL reference of the element in UI.
ContainerId String The ID of the container of the content.
MediaType String Media Type of the attachment.
DownloadLink String The download link of the attachment.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String

AuditRecords

Fetch a paginated list of AuditRecord instances dating back to a certain time.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • SearchString supports the '=' comparisons.
  • StartDate supports the '=' comparisons.
  • EndDate supports the '=' comparisons.

For example, the following queries are processed server side:

SELECT * FROM AuditRecords WHERE SearchString = 'your search string'

SELECT * FROM AuditRecords WHERE StartDate = '2019-08-12'

SELECT * FROM AuditRecords WHERE EndDate = '2019-08-15'
Columns
Name Type References SupportedOperators Description
AffectedObjectName String Name of the object that was affected by changes.
AffectedObjectType String Type of the object that was affected by changes.
AuthorDisplayName String Display name of the person who made the changes.
AuthorType String Type of the author who made the changes.
UserKey String Unique identifier of the author.
UserName String User name of the author.
Category String Category of the object.
CreationDate Datetime Date when the object was created.
Description String Description of the object.
RemoteAddress String Remote address of the object.
Summary String Summary of the object.
IsSysAdmin Boolean Identifier whether object is system administered or not.
SearchString String = Text that is inserted by the user to search for a specific object.
StartDate Datetime = Start date of the audit.
EndDate Datetime = End date of the audit.

Blogposts

Get information about a specific blogpost.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector. You can also search for Attachments using CQL (Confluence Query Language).

  • Id supports the '=,!=,IN,NOT IN' comparisons.
  • Type supports the '=,!=,IN,NOT IN' comparisons.
  • Title supports the '=,!=,LIKE,NOT LIKE,IN,NOT IN' comparisons.
  • SpaceKey supports the '=,!=,IN,NOT IN' comparisons.
  • SpaceType supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedByUserName supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedDate supports the '=,!=,>,>=,<,<=' comparisons.
  • LastUpdatedDatetime supports the '=,!=,>,>=,<,<=' comparisons.

For example, the following queries are processed server side:

SQL
SELECT * FROM Blogposts WHERE Id = '1234'

SELECT * FROM Blogposts WHERE Id IN ('1234', '2345')

SELECT * FROM Blogposts WHERE Id = '123458' AND Type = 'blogpost'


SELECT * FROM Blogposts WHERE CreatedDate <= '2019/03/29 15:00' AND ID IN ('1234', '2345')

Additionally Id, Type, Title, CreatedDate, CreatedByUserName, AND LastUpdatedDatetime columns can be used in the ORDER BY clause, as following:

SELECT * FROM Blogposts ORDER BY Id DESC

SELECT * FROM Blogposts ORDER BY CreatedByUserName ASC
CQL

Note: Filtering with CQL has the highest priority and all the other filters except "Excerpt" will be ignored when CQL filter is present in the query.

SELECT * FROM Blogposts WHERE CQL = 'creator = currentUser() AND content = "1234" OR space.type = "global"'
Columns
Name Type References SupportedOperators Description
Id [KEY] String =, !=, IN, NOT_IN Id of the content.
Type String =, !=, IN, NOT_IN Type of the content.
Title String =, !=, IN, NOT_IN, LIKE Title of the content.
Status String Status of the content.
SpaceKey String Spaces.Key =, !=, IN, NOT_IN The key of the space that the content belongs to.
SpaceType String Spaces.Type =, !=, IN, NOT_IN The type of the space that the content belongs to.
Position String Position of the content.
URL String URL of the content.
Excerpt String Excerpt of the content.
IsLatest Boolean Indicator if this is the latest version of the content.
CreatedByUserName String =, !=, IN, NOT_IN Username of the user who created the content.
CreatedByUserType String Type of the user who created the content.
CreatedDate Datetime =, >, >=, <, <= Datetime for the creation of the content.
LastUpdatedDatetime Datetime =, >, >=, <, <= Datetime of the last updated version of the content.
LastUpdatedMessage String Message of the last updated version.
LastUpdatedNumber Integer Number of the last updated version.
LastUpdatedUserName String Username of the user who updated the latest version.
LastUpdatedUserType String Type of the user who updated the latest version.
LastUpdatedIsMinorEdit Boolean Indicator if this version is a minor edit.
LastUpdatedIsHidden Boolean Indicator if the last updated version is hidden or not.
PreviousVersionUserName String Username of the user who updated the previous version.
PreviousVersionUserType String Type of the user who updated the previous version.
PreviousVersionDatetime Datetime Datetime when the previous version was edited.
PreviousVersionMessage String Message for the previously edited version.
PreviousVersionNumber String Number of the previously edited version.
PreviousVersionIsMinorEdit Boolean Indicator if the previous version was a minor edit.
PreviousVersionIsHidden Boolean Indicator if the previous version was hidden or not.
LinksEditui String The LinksEditui of the page content.
LinksSelf String The LinksSelf of the content.
LinksTinyui String The LinksTinyui of the content.
LinksWebui String The LinksWebui of the content.
ItemURL String The URL reference of the element in UI.
ContainerId String The ID of the container of the content.
StorageBody String The body content storage.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String

Comments

Get information about a specific comment.

Table Specific Information
Select

The connector uses the Confluence API to process WHERE clause conditions built with the following columns and operators. Conditions that use other supported operators are processed client-side by the connector. You can also search for Attachments using CQL (Confluence Query Language).

  • Id supports the '=,!=,IN,NOT IN' comparisons.
  • Type supports the '=,!=,IN,NOT IN' comparisons.
  • Title supports the '=,!=,LIKE,NOT LIKE,IN,NOT IN' comparisons.
    Note: Only LIKE and NOT LIKE comparisons on Title are processed server-side, while all other operators (=,!=,IN,NOT IN) are processed on the client-side.
  • SpaceKey supports the '=,!=,IN,NOT IN' comparisons.
  • SpaceType supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedByUserName supports the '=,!=,IN,NOT IN' comparisons.
  • CreatedDate supports the '=,!=,>,>=,<,<=' comparisons.
  • LastUpdatedDatetime supports the '=,!=,>,>=,<,<=' comparisons.

For example, the following queries are processed server side:

SQL
SELECT * FROM Comments WHERE Id = '1234'

SELECT * FROM Comments WHERE Id IN ('1234', '2345')

SELECT * FROM Comments WHERE Id = '294922' OR Type = 'comment'



SELECT * FROM Comments WHERE CreatedDate <= '2019/03/29 15:00' AND ID IN ('1234', '2345')

Additionally Id, Type, Title, CreatedDate, CreatedByUserName, AND LastUpdatedDatetime columns can be used in the ORDER BY clause, as following:

SELECT * FROM Comments ORDER BY Id DESC

SELECT * FROM Comments ORDER BY CreatedByUserName ASC
CQL

Note: Filtering with CQL has the highest priority and all the other filters except "Excerpt" will be ignored when CQL filter is present in the query.

SELECT * FROM Comments WHERE CQL = 'creator = currentUser() AND content = "1234" OR space.type = "global"'
Columns
Name Type References SupportedOperators Description
Id [KEY] String =, !=, IN, NOT_IN Id of the content.
Type String =, !=, IN, NOT_IN Type of the content.
Title String Title of the content.
Status String Status of the content.
SpaceKey String Spaces.Key =, !=, IN, NOT_IN The key of the space that the content belongs to.
SpaceType String Spaces.Type =, !=, IN, NOT_IN The type of the space that the content belongs to.
Position String Position of the content.
URL String URL of the content.
Excerpt String Excerpt of the content.
IsLatest Boolean Indicator if this is the latest version of the content.
CreatedByUserName String =, !=, IN, NOT_IN Username of the user who created the content.
CreatedByUserType String Type of the user who created the content.
CreatedDate Datetime =, >, >=, <, <= Datetime for the creation of the content.
LastUpdatedDatetime Datetime =, >, >=, <, <= Datetime of the last updated version of the content.
LastUpdatedMessage String Message of the last updated version.
LastUpdatedNumber Integer Number of the last updated version.
LastUpdatedUserName String Username of the user who updated the latest version.
LastUpdatedUserType String Type of the user who updated the latest version.
LastUpdatedIsMinorEdit Boolean Indicator if this version is a minor edit.
LastUpdatedIsHidden Boolean Indicator if the last updated version is hidden or not.
PreviousVersionUserName String Username of the user who updated the previous version.
PreviousVersionUserType String Type of the user who updated the previous version.
PreviousVersionDatetime Datetime Datetime when the previous version was edited.
PreviousVersionMessage String Message for the previously edited version.
PreviousVersionNumber String Number of the previously edited version.
PreviousVersionIsMinorEdit Boolean Indicator if the previous version was a minor edit.
PreviousVersionIsHidden Boolean Indicator if the previous version was hidden or not.
LinksEditui String The LinksEditui of the page content.
LinksSelf String The LinksSelf of the content.
LinksTinyui String The LinksTinyui of the content.
LinksWebui String The LinksWebui of the content.
ItemURL String The URL reference of the element in UI.
ContainerId String The ID of the container of the content.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String

Contributors

Get information about the users who have contributed to the content.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

Note: ContentId is required in order to query the Contributors view.

  • ContentId supports the '=,!=,IN,NOT IN' comparisons.
  • AccountId supports the '=,!=,IN,NOT IN' comparisons.

For example, the following queries are processed server side:

SELECT * FROM Contributors WHERE ContentId = '1234'

SELECT * FROM Contributors WHERE ContentId! = '1234'

SELECT * FROM Contributors WHERE ContentId IN ('1234', '2345')

SELECT * FROM Contributors WHERE ContentId NOT IN ('1234', '2345')

SELECT * FROM Contributors WHERE AccountId = '12345678'

SELECT * FROM Contributors WHERE AccountId! = '12345678'

SELECT * FROM Contributors WHERE AccountId IN ('12345678', '23456789')

SELECT * FROM Contributors WHERE AccountId NOT IN ('12345678', '23456789')

Additionally, ContentId column can be used in the ORDER BY clause, as following:

SELECT * FROM Contributors ORDER BY ContentId DESC
Columns
Name Type References SupportedOperators Description
ContentId [KEY] String =, !=, IN, NOT_IN This is the ID of the content that support labels. This can be referenced from Attachments.Id, Pages.Id, Comments.Id or Blogposts.Id.
UserType String Type of the contributor.
AccountId String =, !=, IN, NOT_IN Unique account ID of the contributor.
UserName String =, !=, IN, NOT_IN Unique user key of the contributor.

GroupMembers

Get users of a specific group.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Name supports the '=' comparisons.

For example, the following queries are processed server side:

SELECT * FROM GroupMembers WHERE Name = 'test1'
Columns
Name Type References SupportedOperators Description
AccountId String Account ID of the user.
AccountType String Account Type of the user.
DisplayName String Display name of the user.
Email String Email address of the user.
PublicName String Public name or nickname of the user.
ProfilePicturePath String Path of the profile picture of the user.
ProfilePictureWidth Int Width of the profile picture of the user.
ProfilePictureHeight Int Height of the profile picture of the user.
ProfilePictureIsDefault Boolean If isDefault of the profile picture of the user.
Operations String An operation and the target entity that it applies to
Type String Type of the user.
GroupId String = The ID of the group.
Name String = Name of the Group to which these members belong to.

Groups

Get information about a specific group.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Name supports the '=,IN' comparisons.
  • Id supports the '=' comparisons.

For example, the following queries are processed server side:

SELECT * FROM Groups WHERE Name = 'test'

SELECT * FROM Groups WHERE Name IN ('test1', 'test2')

SELECT * FROM Groups WHERE ID = 'ef75d879-6b69-4260-942a-ff5231e08be0'
Columns
Name Type References SupportedOperators Description
Id [KEY] String = Id of the group.
Name [KEY] String = Name of the group.
Type String Type of the group.

GroupsContentRestrictions

Retrieve information related to the groups restrictions applied to a certain content. The maximum number of restrictions per operation is limited to 200. ContentId is required.

Columns
Name Type References SupportedOperators Description
Operation String Specifies the type of operation (read, update) that the restriction applies to.
Name String Stores the name of the group that the restriction applies to.
Type String Specifies the type of the group.
ContentId String = The ID of the content where the restriction is applied.

Labels

Get information about the labels that a specific content has.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

Note: ContentId is required in order to query the Labels view.

  • ContentId supports the '=,!=,IN,NOT IN' comparisons.
  • LabelName supports the '=,!=,IN,NOT IN' comparisons.

For example, the following queries are processed server side:

SELECT * FROM Labels WHERE ContentId = '1234'

SELECT * FROM Labels WHERE ContentId! = '1234'

SELECT * FROM Labels WHERE ContentId IN ('1234', '2345')

SELECT * FROM Labels WHERE ContentId NOT IN ('1234', '2345')

SELECT * FROM Labels WHERE LabelName = 'test'

SELECT * FROM Labels WHERE LabelName != 'test'

SELECT * FROM Labels WHERE LabelName IN ('test1', 'test2')

SELECT * FROM Labels WHERE LabelName NOT IN ('test1', 'test2')

Additionally, ContentId column can be used in the ORDER BY clause, as following:

SELECT * FROM Labels ORDER BY ContentId DESC
Columns
Name Type References SupportedOperators Description
ContentId [KEY] String =, !=, IN, NOT_IN This is the ID of the content that support labels. This can be referenced from Attachments.Id, Pages.Id, or Blogposts.Id.
LabelId [KEY] String Id of the label.
LabelName String =, !=, IN, NOT_IN Name of the label.
LabelPrefix String Prefix of the label.

PageAncestors

To look at a page hierarchy including who is the parent page.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator.

Note: PageId is required in order to query the PageAncestors view.

  • PageId supports the '=' comparison.

For example, the following queries are processed server side:

SELECT * FROM PageAncestors WHERE PageId = '33106'
SELECT * FROM PageAncestors WHERE PageId IN ('163902', '33106')
Columns
Name Type References SupportedOperators Description
Id [KEY] String The ID of the PageAncestors.
ExpandableAncestors String The ExpandableAncestors of the PageAncestors.
ExpandableBody String The ExpandableBody of the PageAncestors.
ExpandableChildren String The ExpandableChildren of the PageAncestors.
ExpandableChildTypes String The ExpandableChildTypes of the PageAncestors.
ExpandableContainer String The ExpandableContainer of the PageAncestors.
ExpandableDescendants String The ExpandableDescendants of the PageAncestors.
ExpandableHistory String The ExpandableHistory of the PageAncestors.
ExpandableMetadata String The ExpandableMetadata of the PageAncestors.
ExpandableOperations String The ExpandableOperations of the PageAncestors.
ExpandableRestrictions String The ExpandableRestrictions of the PageAncestors.
ExpandableSchedulePublishDate Datetime The ExpandableSchedulePublishDate of the PageAncestors.
ExpandableSpace String The ExpandableSpace of the PageAncestors.
ExpandableVersion String The ExpandableVersion of the PageAncestors.
LinksEditui String The LinksEditui of the PageAncestors.
LinksSelf String The LinksSelf of the PageAncestors.
LinksTinyui String The LinksTinyui of the PageAncestors.
LinksWebui String The LinksWebui of the PageAncestors.
ExtensionsPosition String The ExtensionsPosition of the PageAncestors.
Status String The Status of the PageAncestors.
Title String The Title of the PageAncestors.
Type String The Type of the PageAncestors.
PageId [KEY] String Pages.Id =, !=, IN, NOT_IN The ID of the page.

PageChildren

To look at a page hierarchy including who is the child page.

Columns
Name Type References SupportedOperators Description
Id [KEY] String The ID of the PageChildren.
ExpandableAncestors String The ExpandableAncestors of the PageChildren.
ExpandableBody String The ExpandableBody of the PageChildren.
ExpandableChildren String The ExpandableChildren of the PageChildren.
ExpandableChildTypes String The ExpandableChildTypes of the PageChildren.
ExpandableContainer String The ExpandableContainer of the PageChildren.
ExpandableDescendants String The ExpandableDescendants of the PageChildren.
ExpandableHistory String The ExpandableHistory of the PageChildren.
ExpandableMetadata String The ExpandableMetadata of the PageChildren.
ExpandableOperations String The ExpandableOperations of the PageChildren.
ExpandableRestrictions String The ExpandableRestrictions of the PageChildren.
ExpandableSchedulePublishDate Datetime The ExpandableSchedulePublishDate of the PageChildren.
ExpandableSpace String The ExpandableSpace of the PageChildren.
ExpandableVersion String The ExpandableVersion of the PageChildren.
LinksEditui String The LinksEditui of the PageChildren.
LinksSelf String The LinksSelf of the PageChildren.
LinksTinyui String The LinksTinyui of the PageChildren.
LinksWebui String The LinksWebui of the PageChildren.
ExtensionsPosition String The ExtensionsPosition of the PageChildren.
Status String The Status of the PageChildren.
Title String The Title of the PageChildren.
Type String The Type of the PageChildren.
PageId String Pages.Id =, !=, IN, NOT IN The ID of the page.

PageComments

Get comments specific to a page.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator.

Note: PageId is required in order to query the PageComments view.

  • PageId supports the '=' comparison.

For example, the following queries are processed server side:

SELECT * FROM PageComments WHERE PageId = '163902'
SELECT * FROM PageComments WHERE PageId IN ('163902', '33106')
Columns
Name Type References SupportedOperators Description
Id [KEY] String The ID of the comments mentioned in the Page.
ExpandableAncestors String The ExpandableAncestors of the page comments.
ExpandableChildren String The ExpandableChildren of the page comments.
ExpandableContainer String The ExpandableContainer of the page comments.
ExpandableDescendants String The ExpandableDescendants of the page comments.
ExpandableHistory String The ExpandableHistory of the page comments.
ExpandableMetadata String The ExpandableMetadata of the page comments.
ExpandableOperations String The ExpandableOperations of the page comments.
ExpandableRestrictions String The ExpandableRestrictions of the page comments.
ExpandableSpace String The ExpandableSpace of the page comments.
ExpandableVersion String The ExpandableVersion of the page comments.
LinksSelf String The LinksSelf of the page comments.
LinksWebui String The LinksWebui of the page comments.
BodyExpandableAnonymousExportView String The BodyExpandableAnonymousExportView of the page comments.
BodyExpandableEditor String The BodyExpandableEditor of the page comments.
BodyExpandableExportView String The BodyExpandableExportView of the page comments.
BodyExpandableStorage String The BodyExpandableStorage of the page comments.
BodyExpandableStyledView String The BodyExpandableStyledView of the page comments.
BodyViewExpandableContent String The BodyViewExpandableContent of the page comments.
BodyViewExpandableWebresource String The BodyViewExpandableWebresource of the page comments.
BodyViewRepresentation String The BodyViewRepresentation of the page comments.
BodyViewValue String The BodyViewValue of the page comments.
ExtensionsExpandableResolution String The ExtensionsExpandableResolution of the page comments.
ExtensionsLocation String The ExtensionsLocation of the page comments.
Status String The Status of the page comments.
Title String The Title of the page comments.
Type String The Type of the page comments.
PageId String Pages.Id =, !=, IN, NOT_IN The ID of the page.

PageContents

Get content from the page.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator.

Note: PageId is required in order to query the PageContents view.

  • PageId supports the '=' comparison.

For example, the following queries are processed server side:

SELECT * FROM PageContents WHERE PageId = '163902'
SELECT * FROM PageContents WHERE PageId IN ('163902', '33106')
Columns
Name Type References SupportedOperators Description
Id [KEY] String The ID of the page content.
ExpandableAncestors String The ExpandableAncestors of the page content.
ExpandableChildren String The ExpandableChildren of the page content.
ExpandableChildTypes String The ExpandableChildTypes of the page content.
ExpandableContainer String The ExpandableContainer of the page content.
ExpandableDescendants String The ExpandableDescendants of the page content.
ExpandableHistory String The ExpandableHistory of the page content.
ExpandableMetadata String The ExpandableMetadata of the page content.
ExpandableOperations String The ExpandableOperations of the page content.
ExpandableRestrictions String The ExpandableRestrictions of the page content.
ExpandableSchedulePublishDate Datetime The ExpandableSchedulePublishDate of the page content.
ExpandableSpace String The ExpandableSpace of the page content.
ExpandableVersion String The ExpandableVersion of the page content.
LinksBase String The LinksBase of the page content.
LinksCollection String The LinksCollection of the page content.
LinksContext String The LinksContext of the page content.
LinksEditui String The LinksEditui of the page content.
LinksSelf String The LinksSelf of the page content.
LinksTinyui String The LinksTinyui of the page content.
LinksWebui String The LinksWebui of the page content.
BodyExpandableAnonymousExportView String The BodyExpandableAnonymousExportView of the page content.
BodyExpandableAtlasDocFormat String The BodyExpandableAtlasDocFormat of the page content.
BodyExpandableDynamic String The BodyExpandableDynamic of the page content.
BodyExpandableEditor String The BodyExpandableEditor of the page content.
BodyExpandableEditor2 String The BodyExpandableEditor2 of the page content.
BodyExpandableExportView String The BodyExpandableExportView of the page content.
BodyExpandableStyledView String The BodyExpandableStyledView of the page content.
BodyExpandableView String The BodyExpandableView of the page content.
BodyStorageExpandableContent String The BodyStorageExpandableContent of the page content.
BodyStorageEmbeddedContent String The BodyStorageEmbeddedContent of the page content.
BodyStorageRepresentation String The BodyStorageRepresentation of the page content.
BodyStorageValue String The BodyStorageValue of the page content.
ExtensionsPosition String The ExtensionsPosition of the page content.
Status String The Status of the page content.
Title String The Title of the page content.
Type String The Type of the page content.
PageId String Pages.Id =, !=, IN, NOT_IN The ID of the page.

SpacePermissions

Returns space permissions for the specified space(s).

Columns
Name Type References SupportedOperators Description
Id [KEY] String The ID of the space permission.
OperationKey String The type of operation that the space permission corresponds to.
OperationTargetType String The type of entity the operation type targets.
PrincipalId String The ID of the entity the space permissions corresponds to.
PrincipalType String The type of the entity the space permissions corresponds to.
SpaceId String Spaces.Id = The ID of the space that the permission is associated with.

Spaces

Returns information about a number of spaces.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector. You can also search for Attachments using CQL (Confluence Query Language).

  • Key supports the '=,!=,IN,NOT IN' comparisons.
  • Name supports the '=,LIKE,NOT LIKE' comparisons.
  • Type supports the '=,!=,IN,NOT IN' comparisons.
  • Excerpt supports the '=' comparisons.

For example, the following queries are processed server side:

SQL
SELECT * FROM Spaces WHERE Key = 'abc'

SELECT * FROM Spaces WHERE Name IN ('name1', 'name2')

SELECT * FROM Spaces WHERE Excerpt = 'driver development'


SELECT * FROM Spaces WHERE Key = 'abc' AND Type = 'global'
CQL

Note: Filtering with CQL has the highest priority and all the other filters except "Excerpt" will be ignored when CQL filter is present in the query.

SELECT * FROM Spaces WHERE CQL = 'type = space AND space.title~"Driver Development"' AND Excerpt = 'indexed'
Columns
Name Type References SupportedOperators Description
Id String Id of the space.
Key [KEY] String =, !=, IN, NOT_IN Unique key of the space.
Name String =, != Name of the space.
IconPath String Path of the space icon.
IconWidth Integer Width of the space icon.
IconHeight Integer Height of the space icon.
IsIconDefault Boolean Indicator if the icon is default.
Excerpt String Excerpt of the space.
Type String =, !=, IN, NOT_IN Type of the space.
Url String Url of the space.
LastModified Datetime Last modified datetime.
ItemURL String The URL reference of the element in UI.
Description String Description of the space.
CreatedDate Datetime =, >, >=, <, <= Datetime for the creation of the content.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String

Tasks

Get information regarding tasks.

Columns
Name Type References SupportedOperators Description
Id [KEY] String = The ID of the task.
AssignedTo String = Account ID of the user to whom this task is assigned.
AtlasDoc String The atlas doc format.
BlogPostId String = The blog post ID of the task.
CompletedAt Datetime Time when task is completed.
CompletedBy String = Account ID of the user who completed this task.
CreatedAt Datetime Time when task is created.
CreatedBy String = Account ID of the user who created this task.
DueAt Datetime Time when task is due.
LocalId String The local ID.
PageId String = The page ID of the task.
SpaceId String = The space ID of the task.
Status String = The status of the task.
Storage String The body storage of the task.
UpdatedAt Datetime Time when task is updated.

Users

Get information about a user identified.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector. You can also search for Attachments using CQL (Confluence Query Language).

  • AccountId supports the '=,!=,IN,NOT IN' comparisons.
  • PublicName supports the '=,LIKE,NOT LIKE' comparisons.

For example, the following queries are processed server side:

SQL
SELECT * FROM Users WHERE AccountId = '1234'

SELECT * FROM Users WHERE AccountId IN ('1234', '2345')


SELECT * FROM Users WHERE PublicName = 'confluenceuser'
CQL

Note: Filtering with CQL has the highest priority and all the other filters except "Excerpt" will be ignored when CQL filter is present in the query.

SELECT * FROM Users WHERE CQL = 'user.userKey = "4028d6096b696826016b696960860000" AND type = user' AND UserName = 'currentUser()'
Columns
Name Type References SupportedOperators Description
AccountId [KEY] String =, IN Unique account ID for the specific user. NOTE: This column is exclusive to Confluence Cloud.
AccountType String Type of the account for the specific user. NOTE: This column is exclusive to Confluence Cloud.
PublicName String LIKE Full name of the specific user. NOTE: This column is exclusive to Confluence Cloud.
Email String Email of the specific user. NOTE: This column is exclusive to Confluence Cloud.
UserKey [KEY] String =, !=, IN, NOT_IN Unique key for the specific user. NOTE: This column is exclusive to Confluence Server.
UserName String = User name of the specific user. NOTE: This column is exclusive to Confluence Server.
Status String Status of the specific user. NOTE: This column is exclusive to Confluence Server.
Type String Type of the specific user.
Excerpt String Excerpt of the user.
ProfilePicturePath String Path of the profile picture file.
ProfilePictureWidth Integer Profile picture width.
ProfilePictureHeight Integer Profile picture height.
IsDefaultPicture Boolean Indicator showing if the profile picture is never changed.
DisplayName String Display name of the specific user.
Url String Url of the user profile.
LastModified Datetime Last modified timestamp of the user information.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String

UsersContentRestrictions

Retrieve information related to the users restrictions applied to a certain content. The maximum number of restrictions per operation is limited to 200. ContentId is required.

Columns
Name Type References SupportedOperators Description
Operation String Specifies the type of operation (read, update) that the restriction applies to.
UserKey String Specifies the UserKey, the unique identifier key for the user.
DisplayName String The display name of the user associated with the restriction.
Username String Specifies the Username of the user.
Type String Specifies the type of the user (for example, 'known').
ContentId String = The ID of the content where the restriction is applied.

ViewersAnalytics

Get the total number of distinct viewers a piece of content has.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator.

  • FromDate supports the '=' comparison.
  • ContentId supports the '=,IN' comparisons.

For example, the following queries are processed server side:

SELECT * FROM ViewersAnalytics WHERE FromDate = '2023-01-02'
Columns
Name Type References SupportedOperators Description
ContentId [KEY] String = The ID of the page content.
NumberOfDistinctViewers String the total number of distinct viewers a piece of content has.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
FromDate Date

ViewsAnalytics

Get the total number of views a piece of content has.

Table Specific Information
Select

The connector will use the Confluence API to process WHERE clause conditions built with the following column and operator.

  • FromDate supports the '=' comparison.
  • ContentId supports the '=,IN' comparisons.

For example, the following queries are processed server side:

SELECT * FROM ViewsAnalytics WHERE FromDate = '2023-01-02'
Columns
Name Type References SupportedOperators Description
ContentId [KEY] String = The ID of the page content.
NumberOfViews String the total number of views a piece of content has.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
FromDate Date

Whiteboards

Get information about whiteboards.

Columns
Name Type References SupportedOperators Description
Id [KEY] String =, !=, IN, NOT_IN Id of the whiteboard.
Title String =, !=, IN, NOT_IN, LIKE Title of the whiteboard.
Status String Status of the whiteboard.
SpaceKey String Spaces.Key =, !=, IN, NOT_IN The key of the space that the whiteboard belongs to.
SpaceType String Spaces.Type =, !=, IN, NOT_IN The type of the space that the whiteboard belongs to.
Position String Position of the whiteboard.
URL String URL of the whiteboard.
Excerpt String Excerpt of the whiteboard.
IsLatest Boolean Indicator if this is the latest version of the whiteboard.
CreatedByUserName String =, !=, IN, NOT_IN Username of the user who created the whiteboard.
CreatedByUserType String Type of the user who created the whiteboard.
CreatedDate Datetime =, >, >=, <, <= Datetime for the creation of the whiteboard.
LastUpdatedDatetime Datetime =, >, >=, <, <= Datetime of the last updated version of the whiteboard.
LastUpdatedMessage String Message of the last updated version.
LastUpdatedNumber Integer Number of the last updated version.
LastUpdatedUserName String Username of the user who updated the latest version.
LastUpdatedUserType String Type of the user who updated the latest version.
LastUpdatedIsMinorEdit Boolean Indicator if this version is a minor edit.
LastUpdatedIsHidden Boolean Indicator if the last updated version is hidden or not.
PreviousVersionUserName String Username of the user who updated the previous version.
PreviousVersionUserType String Type of the user who updated the previous version.
PreviousVersionDatetime Datetime Datetime when the previous version was edited.
PreviousVersionMessage String Message for the previously edited version.
PreviousVersionNumber String Number of the previously edited version.
PreviousVersionIsMinorEdit Boolean Indicator if the previous version was a minor edit.
PreviousVersionIsHidden Boolean Indicator if the previous version was hidden or not.
LinksEditui String The LinksEditui of the page whiteboard.
LinksSelf String The LinksSelf of the whiteboard.
LinksTinyui String The LinksTinyui of the whiteboard.
LinksWebui String The LinksWebui of the whiteboard.
ItemURL String The URL reference of the element in UI.
ContainerId String The ID of the container of the whiteboard.
AnonymousExportViewBody String The body whiteboard in anonymous export view format.
AtlasDocFormatBody String The body whiteboard in atlas doc format.
BodyViewBody String The body whiteboard view format.
DynamicBody String The body whiteboard dynamic format.
ExportViewBody String The body whiteboard in export view format.
EditorBody String The body whiteboard in editor format.
Editor2Body String The body whiteboard in editor2 format.
StorageBody String The body whiteboard storage..
StyledViewBody String The body whiteboard in styled view format.
Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
CQL String

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with Confluence.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Confluence, along with an indication of whether the procedure succeeded or failed.

Confluence Connector Stored Procedures

Name Description
DownloadAttachment Download attachment by specifying its Id.
GetOAuthAccessToken Gets an authentication token from Confluence.
GetOAuthAuthorizationURL Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps. You will request the auth token from this URL.
RefreshOAuthAccessToken Refreshes the OAuth access token used for authentication with Confluence.
UploadAttachment Upload an attachment to a specific Page.

DownloadAttachment

Download attachment by specifying its Id.

Input
Name Type Required Description
Id String False The ID of the content that the attachment is attached to.
AttachmentId String True The ID of the attachment to download.
Version String False The version of the attachment. If this parameter is absent, the redirect URI will download the latest version of the attachment.
FileLocation String False The location of where to save the file.
Overwrite String False If true, the procedure will override files if they exists. Default value is false.
Encoding String False The FileData input encoding type. The allowed values are NONE, BASE64. The default value is BASE64.
Result Set Columns
Name Type Description
Success String This value shows whether the operation was successful or not.
FileData String If the FileLocation and FileStream are not provided, this contains the content of the file.

GetOAuthAccessToken

Gets an authentication token from Confluence.

Input
Name Type Required Description
AuthMode String False Enter either APP or WEB. The type of authentication mode to use. Set to APP to get authentication tokens via a desktop app. Set to WEB to get authentication tokens via a Web app. The default value is APP.
Verifier String False The verifier token returned by Confluence after using the URL obtained with GetOAuthAuthorizationURL. Required for only the Web AuthMode.
Scope String False A comma-separated list of permissions to request from the user. Please check the Confluence API for a list of available permissions.
CallbackUrl String False The URL the user will be redirected to after authorizing your application. This value must match the Redirect URL in the Confluence app settings.
AuthToken String False The request token returned by GetOAuthAuthorizationURL. Required for only the Web AuthMode. Used for OAuth 1.0.
AuthKey String False The request token secret returned by GetOAuthAuthorizationURL. Required for only the Web AuthMode. Used for OAuth 1.0.
Result Set Columns
Name Type Description
OAuthAccessToken String The access token used for communication with Confluence.
OAuthAccessTokenSecret String The access token secret used for communication with Confluence.
OAuthRefreshToken String A token that may be used to obtain a new access token.
CloudId String The Cloud ID for the Atlassian site that was authorized.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.

GetOAuthAuthorizationURL

Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps. You will request the auth token from this URL.

Input
Name Type Required Description
CallbackUrl String False The URL the user will be redirected to after authorizing your application.
Scope String False A comma-separated list of permissions to request from the user. Please check the Confluence API for a list of available permissions.
State String False Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the Confluence authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.
Result Set Columns
Name Type Description
URL String The authorization URL, entered into a Web browser to obtain the verifier token and authorize your app.
AuthToken String A token used as input for the GetOAuthAccessToken stored procedure to verify the request and get the access token.
AuthKey String A key used as input for the GetOAuthAccessToken stored procedure to verify the request and get the secret key.

RefreshOAuthAccessToken

Refreshes the OAuth access token used for authentication with Confluence.

Input
Name Type Required Description
OAuthRefreshToken String True Set this to the token value that expired.
Result Set Columns
Name Type Description
OAuthAccessToken String The authentication token returned from Confluence. This can be used in subsequent calls to other operations for this particular service.
OAuthRefreshToken String This is the same as the access token.
ExpiresIn String The remaining lifetime on the access token.

UploadAttachment

Upload an attachment to a specific Page.

Input
Name Type Required Description
ContentId String True ID of the content where the attachment will be uploaded.
FileLocation String False The full path, including name and extension for the file that will be uploaded.
FileName String False The name of the file. If not specified the name will be the same of the file being uploaded.
Status String False The status of the attachments content container, supports current or draft, defaults to current. The allowed values are current, draft.
AllowDuplicates Boolean False Allows to upload an attachment with an existing filename. Default is false.
Result Set Columns
Name Type Description
Success String This value shows whether the operation was successful or not.
AttachmentId String ID of the attachment that has been uploaded.

System Tables

You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.

Schema Tables

The following tables return database metadata for Confluence:

Data Source Tables

The following tables return information about how to connect to and query the data source:

  • sys_connection_props: Returns information on the available connection properties.
  • sys_sqlinfo: Describes the SELECT queries that the connector can offload to the data source.

Query Information Tables

The following table returns query statistics for data modification queries:

  • sys_identity: Returns information about batch operations or single updates.

sys_catalogs

Lists the available databases.

The following query retrieves all databases determined by the connection string:

SELECT * FROM sys_catalogs
Columns
Name Type Description
CatalogName String The database name.

sys_schemas

Lists the available schemas.

The following query retrieves all available schemas:

SELECT * FROM sys_schemas
Columns
Name Type Description
CatalogName String The database name.
SchemaName String The schema name.

sys_tables

Lists the available tables.

The following query retrieves the available tables and views:

SELECT * FROM sys_tables
Columns
Name Type Description
CatalogName String The database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view.
TableType String The table type (table or view).
Description String A description of the table or view.
IsUpdateable Boolean Whether the table can be updated.

sys_tablecolumns

Describes the columns of the available tables and views.

The following query returns the columns and data types for the Pages table:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Pages'
Columns
Name Type Description
CatalogName String The name of the database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view containing the column.
ColumnName String The column name.
DataTypeName String The data type name.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The storage size of the column.
DisplaySize Int32 The designated column's normal maximum width in characters.
NumericPrecision Int32 The maximum number of digits in numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The column scale or number of digits to the right of the decimal point.
IsNullable Boolean Whether the column can contain null.
Description String A brief description of the column.
Ordinal Int32 The sequence number of the column.
IsAutoIncrement String Whether the column value is assigned in fixed increments.
IsGeneratedColumn String Whether the column is generated.
IsHidden Boolean Whether the column is hidden.
IsArray Boolean Whether the column is an array.
IsReadOnly Boolean Whether the column is read-only.
IsKey Boolean Indicates whether a field returned from sys_tablecolumns is the primary key of the table.
ColumnType String The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN.

sys_procedures

Lists the available stored procedures.

The following query retrieves the available stored procedures:

SELECT * FROM sys_procedures
Columns
Name Type Description
CatalogName String The database containing the stored procedure.
SchemaName String The schema containing the stored procedure.
ProcedureName String The name of the stored procedure.
Description String A description of the stored procedure.
ProcedureType String The type of the procedure, such as PROCEDURE or FUNCTION.

sys_procedureparameters

Describes stored procedure parameters.

The following query returns information about all of the input parameters for the SelectEntries stored procedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'SelectEntries' AND Direction = 1 OR Direction = 2

To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'SelectEntries' AND IncludeResultColumns='True'
Columns
Name Type Description
CatalogName String The name of the database containing the stored procedure.
SchemaName String The name of the schema containing the stored procedure.
ProcedureName String The name of the stored procedure containing the parameter.
ColumnName String The name of the stored procedure parameter.
Direction Int32 An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
DataTypeName String The name of the data type.
NumericPrecision Int32 The maximum precision for numeric data. The column length in characters for character and date-time data.
Length Int32 The number of characters allowed for character data. The number of digits allowed for numeric data.
NumericScale Int32 The number of digits to the right of the decimal point in numeric data.
IsNullable Boolean Whether the parameter can contain null.
IsRequired Boolean Whether the parameter is required for execution of the procedure.
IsArray Boolean Whether the parameter is an array.
Description String The description of the parameter.
Ordinal Int32 The index of the parameter.
Values String The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated.
SupportsStreams Boolean Whether the parameter represents a file that you can pass as either a file path or a stream.
IsPath Boolean Whether the parameter is a target path for a schema creation operation.
Default String The value used for this parameter when no value is specified.
SpecificName String A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here.
IsProvided Boolean Whether the procedure is added/implemented by , as opposed to being a native Confluence procedure.
Pseudo-Columns
Name Type Description
IncludeResultColumns Boolean Whether the output should include columns from the result set in addition to parameters. Defaults to False.

sys_keycolumns

Describes the primary and foreign keys.

The following query retrieves the primary key for the Pages table:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Pages'
Columns
Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
IsKey Boolean Whether the column is a primary key in the table referenced in the TableName field.
IsForeignKey Boolean Whether the column is a foreign key referenced in the TableName field.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.

sys_foreignkeys

Describes the foreign keys.

The following query retrieves all foreign keys which refer to other tables:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columns
Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.
ForeignKeyType String Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key.

sys_primarykeys

Describes the primary keys.

The following query retrieves the primary keys from all tables and views:

SELECT * FROM sys_primarykeys
Columns
Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
KeySeq String The sequence number of the primary key.
KeyName String The name of the primary key.

sys_indexes

Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.

The following query retrieves all indexes that are not primary keys:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columns
Name Type Description
CatalogName String The name of the database containing the index.
SchemaName String The name of the schema containing the index.
TableName String The name of the table containing the index.
IndexName String The index name.
ColumnName String The name of the column associated with the index.
IsUnique Boolean True if the index is unique. False otherwise.
IsPrimary Boolean True if the index is a primary key. False otherwise.
Type Int16 An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3).
SortOrder String The sort order: A for ascending or D for descending.
OrdinalPosition Int16 The sequence number of the column in the index.

sys_connection_props

Returns information on the available connection properties and those set in the connection string.

The following query retrieves all connection properties that have been set in the connection string or set through a default value:

SELECT * FROM sys_connection_props WHERE Value <> ''
Columns
Name Type Description
Name String The name of the connection property.
ShortDescription String A brief description.
Type String The data type of the connection property.
Default String The default value if one is not explicitly set.
Values String A comma-separated list of possible values. A validation error is thrown if another value is specified.
Value String The value you set or a preconfigured default.
Required Boolean Whether the property is required to connect.
Category String The category of the connection property.
IsSessionProperty String Whether the property is a session property, used to save information about the current connection.
Sensitivity String The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms.
PropertyName String A camel-cased truncated form of the connection property name.
Ordinal Int32 The index of the parameter.
CatOrdinal Int32 The index of the parameter category.
Hierarchy String Shows dependent properties associated that need to be set alongside this one.
Visible Boolean Informs whether the property is visible in the connection UI.
ETC String Various miscellaneous information about the property.

sys_sqlinfo

Describes the SELECT query processing that the connector can offload to the data source.

Discover the Data Source's SELECT Capabilities

Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.

Name Description Possible Values
AGGREGATE_FUNCTIONS Supported aggregation functions. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Whether COUNT function is supported. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR The opening character used to escape an identifier. [
IDENTIFIER_QUOTE_CLOSE_CHAR The closing character used to escape an identifier. ]
SUPPORTED_OPERATORS A list of supported SQL operators. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Whether GROUP BY is supported, and, if so, the degree of support. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Supported string functions. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Supported numeric functions. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Supported date/time functions. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Indicates tables skipped during replication.
REPLICATION_TIMECHECK_COLUMNS A string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication.
IDENTIFIER_PATTERN String value indicating what string is valid for an identifier.
SUPPORT_TRANSACTION Indicates if the provider supports transactions such as commit and rollback. YES, NO
DIALECT Indicates the SQL dialect to use.
KEY_PROPERTIES Indicates the properties which identify the uniform database.
SUPPORTS_MULTIPLE_SCHEMAS Indicates if multiple schemas may exist for the provider. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indicates if multiple catalogs may exist for the provider. YES, NO
DATASYNCVERSION The Data Sync version needed to access this driver. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY The Data Sync category of this driver. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Whether enhanced SQL functionality beyond what is offered by the API is supported. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Whether batch operations are supported. YES, NO
SQL_CAP All supported SQL capabilities for this driver. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS A string value specifies the preferred cacheOptions.
ENABLE_EF_ADVANCED_QUERY Indicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side. YES, NO
PSEUDO_COLUMNS A string array indicating the available pseudo columns.
MERGE_ALWAYS If the value is true, The Merge Mode is forcibly executed in Data Sync. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY A select query to return the replicate start datetime.
REPLICATION_MIN_FUNCTION Allows a provider to specify the formula name to use for executing a server side min.
REPLICATION_START_DATE Allows a provider to specify a replicate startdate.
REPLICATION_MAX_DATE_QUERY A select query to return the replicate end datetime.
REPLICATION_MAX_FUNCTION Allows a provider to specify the formula name to use for executing a server side max.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE A list of tables which will skip dividing the replicate into chunks on the initial replicate.
CHECKCACHE_USE_PARENTID Indicates whether the CheckCache statement should be done against the parent key column. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indicates stored procedures that can be used for generating schema files.

The following query retrieves the operators that can be used in the WHERE clause:

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'

Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Confluence Cloud Data Model section for more information.

Columns
Name Type Description
NAME String A component of SQL syntax, or a capability that can be processed on the server.
VALUE String Detail on the supported SQL or SQL syntax.

sys_identity

Returns information about attempted modifications.

The following query retrieves the Ids of the modified rows in a batch operation:

SELECT * FROM sys_identity
Columns
Name Type Description
Id String The database-generated ID returned from a data modification operation.
Batch String An identifier for the batch. 1 for a single operation.
Operation String The result of the operation in the batch: INSERTED, UPDATED, or DELETED.
Message String SUCCESS or an error message if the update in the batch failed.

sys_information

Describes the available system information.

The following query retrieves all columns:

SELECT * FROM sys_information
Columns
Name Type Description
Product String The name of the product.
Version String The version number of the product.
Datasource String The name of the datasource the product connects to.
NodeId String The unique identifier of the machine where the product is installed.
HelpURL String The URL to the product's help documentation.
License String The license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.)
Location String The file path location where the product's library is stored.
Environment String The version of the environment or rumtine the product is currently running under.
DataSyncVersion String The tier of Sync required to use this connector.
DataSyncCategory String The category of Sync functionality (e.g., Source, Destination).

Advanced Configurations Properties

The advanced configurations properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure. Click the links for further details.

Authentication

Property Description
AuthScheme The type of authentication to use when connecting to Confluence.
URL The URL to your JIRA endpoint.
CloudId The Cloud ID for the Atlassian site that was authorized.
User Specifies the user ID of the authenticating Confluence user account.
Password Specifies the password of the authenticating user account.
APIToken APIToken of the currently authenticated user.
PAT Personal Access Token of the currently authenticated user.
Timezone Specify the timezone of the Confluence instance in order to use the datetime filters accordingly and retrieve the results according to your timezone. An example of a timezone would be America/New_York.

SSO

Property Description
SSOLoginURL The identity provider's login URL.
SSOProperties Additional properties required to connect to the identity provider, formatted as a semicolon-separated list.
SSOExchangeURL The URL used for consuming the SAML response and exchanging it for service specific credentials.
SSOAppName App Name used with SSO for IdPs that require it.
SSOAppPassword App Password used with SSO for IdPs that require it.

OAuth

Property Description
InitiateOAuth Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthVersion The version of OAuth being used.
OAuthClientId Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecret Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server.
OAuthAccessToken Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
Scope This determines the scopes that the OAuth application requests from Confluence.
OAuthSettingsLocation Specifies the location of the settings file where OAuth values are saved. Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.
CertificateStore The certificate store used for Confluence authentication.
CertificateStorePassword The password of the certificate store used with Confluence authentication.
CertificateSubject The subject of the certificate used with Confluence Private Application authentication.
CertificateStoreType The type of certificate store used with Confluence Private Application authentication.
CallbackURL Identifies the URL users return to after authenticating to Confluence via OAuth. (Custom OAuth applications only.).
OAuthVerifier Specifies a verifier code returned from the OAuthAuthorizationURL. Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshToken Specifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresIn Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestamp Displays a Unix epoch timestamp in milliseconds that shows how long ago the current Access Token was created.

SSL

Property Description
SSLClientCert Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection.
SSLClientCertType Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source.
SSLClientCertPassword Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access.
SSLClientCertSubject Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store.
SSLServerCert Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

Schema

Property Description
Location Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemas Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA, TableB, TableC.
Views Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA, ViewB, ViewC.

Miscellaneous

Property Description
IgnoreErrorsOnPagination This property allows the driver to skip pages that encounter specified server errors during paginated queries and continue retrieving the remaining pages. Note: This property only affects tables with client-side paging.
IncludeArchivedSpaces Whether to include content from archived spaces in the result. This defaults to false.
MaxRows Specifies the maximum rows returned for queries without aggregation or GROUP BY.
Other Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties.
Pagesize The maximum number of records per page the provider returns when requesting data from Confluence.
PseudoColumns Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property.
SpaceKey By specifying the SpaceKey, the search results will only display contents from this specific space.
Timeout Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout.
UserDefinedViews Specifies a filepath to a JSON configuration file defining custom views. The provider automatically detects and uses the views specified in this file.

Authentication

This section provides a complete list of authentication properties you can configure.

Property Description
AuthScheme The type of authentication to use when connecting to Confluence.
URL The URL to your JIRA endpoint.
CloudId The Cloud ID for the Atlassian site that was authorized.
User Specifies the user ID of the authenticating Confluence user account.
Password Specifies the password of the authenticating user account.
APIToken APIToken of the currently authenticated user.
PAT Personal Access Token of the currently authenticated user.
Timezone Specify the timezone of the Confluence instance in order to use the datetime filters accordingly and retrieve the results according to your timezone. An example of a timezone would be America/New_York.

AuthScheme

The type of authentication to use when connecting to Confluence.

Possible Values

OAuth, Basic, APIToken, Crowd, OKTA, PAT

Data Type

string

Default Value

Basic

Remarks

Confluence supports the following authentication schemes:

  • OAuth: Perform OAuth authentication.
  • Basic: Use basic User/Password authentication for Server instances.
  • APIToken: Use basic User/APIToken authentication for Cloud instances.
  • Crowd: Perform Crowd SSO authentication.
  • OKTA: Perform OKTA SSO authentication.
  • PAT: Use a Personal Access Token (PAT) for Server instances of Confluence 7.9 or later.

URL

The URL to your JIRA endpoint.

Data Type

string

Default Value

""

Remarks

The URL to your JIRA endpoint; for example, https://yoursitename.atlassian.net.

CloudId

The Cloud ID for the Atlassian site that was authorized.

Data Type

string

Default Value

""

Remarks

This will be determined automatically during OAuth 2.0 authentication and returned from the GetOAuthAccessToken stored procedure. Do not set a value for CloudId when using InitiateOAuth.

User

Specifies the user ID of the authenticating Confluence user account.

Data Type

string

Default Value

""

Remarks

The authenticating server requires both User and Password to validate the user's identity.

Password

Specifies the password of the authenticating user account.

Data Type

string

Default Value

""

Remarks

The authenticating server requires both User and Password to validate the user's identity.

APIToken

APIToken of the currently authenticated user.

Data Type

string

Default Value

""

Remarks

APIToken of the currently authenticated user.

PAT

Personal Access Token of the currently authenticated user.

Data Type

string

Default Value

""

Remarks

Personal Access Token of the currently authenticated user.

Timezone

Specify the timezone of the Confluence instance in order to use the datetime filters accordingly and retrieve the results according to your timezone. An example of a timezone would be America/New_York.

Data Type

string

Default Value

""

Remarks

Note: You can find the timezone in your Confluence Server by navigating to Settings -> General Configuration and then by clicking System Information on the left panel. On your Confluence Cloud, the timezone should be set. In order to set it, navigate to the User Profile icon on the bottom left corner and click Settings. In that section, you will be able to set the Timezone by clicking the Edit button.

SSO

This section provides a complete list of SSO properties you can configure.

Property Description
SSOLoginURL The identity provider's login URL.
SSOProperties Additional properties required to connect to the identity provider, formatted as a semicolon-separated list.
SSOExchangeURL The URL used for consuming the SAML response and exchanging it for service specific credentials.
SSOAppName App Name used with SSO for IdPs that require it.
SSOAppPassword App Password used with SSO for IdPs that require it.

SSOLoginURL

The identity provider's login URL.

Data Type

string

Default Value

""

Remarks

The identity provider's login URL.

SSOProperties

Additional properties required to connect to the identity provider, formatted as a semicolon-separated list.

Data Type

string

Default Value

""

Remarks

Additional properties required to connect to the identity provider, formatted as a semicolon-separated list. This is used with the SSOLoginURL.

SSOExchangeURL

The URL used for consuming the SAML response and exchanging it for service specific credentials.

Data Type

string

Default Value

""

Remarks

The Confluence connector will use the URL specified here to consume a SAML response and exchange it for service specific credentials. The retrieved credentials are the final piece during the SSO connection that are used to communicate with Confluence.

SSOAppName

App Name used with SSO for IdPs that require it.

Data Type

string

Default Value

""

Remarks

Along with SSOAppPassword, may be be specified to identify and authenticate to your app configured in the SSO IdP. Currently only Crowd supports it.

SSOAppPassword

App Password used with SSO for IdPs that require it.

Data Type

string

Default Value

""

Remarks

Along with SSOAppName, may be be specified to identify and authenticate to your app configured in the SSO IdP. Currently only Crowd supports it.

OAuth

This section provides a complete list of OAuth properties you can configure.

Property Description
InitiateOAuth Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthVersion The version of OAuth being used.
OAuthClientId Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecret Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server.
OAuthAccessToken Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
Scope This determines the scopes that the OAuth application requests from Confluence.
OAuthSettingsLocation Specifies the location of the settings file where OAuth values are saved. Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.
CertificateStore The certificate store used for Confluence authentication.
CertificateStorePassword The password of the certificate store used with Confluence authentication.
CertificateSubject The subject of the certificate used with Confluence Private Application authentication.
CertificateStoreType The type of certificate store used with Confluence Private Application authentication.
CallbackURL Identifies the URL users return to after authenticating to Confluence via OAuth. (Custom OAuth applications only.).
OAuthVerifier Specifies a verifier code returned from the OAuthAuthorizationURL. Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshToken Specifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresIn Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestamp Displays a Unix epoch timestamp in milliseconds that shows how long ago the current Access Token was created.

InitiateOAuth

Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.

Possible Values

OFF, REFRESH, GETANDREFRESH

Data Type

string

Default Value

OFF

Remarks

OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. The OAuth flow defines the method to be used for logging in users, exchanging their credentials for an OAuth access token to be used for authentication, and providing limited access to applications.

Confluence supports the following options for initiating OAuth access:

  1. OFF: No automatic OAuth flow initiation. The OAuth flow is handled entirely by the user, who will take action to obtain their OAuthAccessToken. Note that with this setting the user must refresh the token manually and reconnect with an updated OAuthAccessToken property when the current token expires.
  2. GETANDREFRESH: The OAuth flow is handled entirely by the connector. If a token already exists, it is refreshed when necessary. If no token currently exists, it will be obtained by prompting the user to login.
  3. REFRESH: The user handles obtaining the OAuth Access Token and sets up the sequence for refreshing the OAuth Access Token. (The user is never prompted to log in to authenticate. After the user logs in, the connector handles the refresh of the OAuth Access Token.

OAuthVersion

The version of OAuth being used.

Possible Values

1.0, 2.0

Data Type

string

Default Value

2.0

Remarks

The version of OAuth being used. The following options are available: 1.0,2.0

OAuthClientId

Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.

Data Type

string

Default Value

""

Remarks

This property is required when using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration. It is also required if an embedded OAuth application is not available for the driver. When an embedded OAuth application is available, this value may already be provided by the connector and not require manual entry.

This value is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.

OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can typically find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.

While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.

OAuthClientSecret

Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server.

Data Type

string

Default Value

""

Remarks

This property is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.

The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication will fail, and the server may return an invalid_client or unauthorized_client error.

OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application. It may be referred to as the client secret, application secret, or consumer secret.

This value should be stored securely and never exposed in public repositories, scripts, or unsecured environments. Client secrets may also expire after a set period. Be sure to monitor expiration dates and rotate secrets as needed to maintain uninterrupted access.

OAuthAccessToken

Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.

Data Type

string

Default Value

""

Remarks

The OAuthAccessToken is a temporary credential that authorizes access to protected resources. It is typically returned by the identity provider after the user or client application completes an OAuth authentication flow. This property is most commonly used in automated workflows or custom OAuth implementations where you want to manage token handling outside of the driver.

The OAuth access token has a server-dependent timeout, limiting user access. This is set using the OAuthExpiresIn property. However, it can be reissued between requests to keep access alive as long as the user keeps working.

If InitiateOAuth is set to REFRESH, we recommend that you also set both OAuthExpiresIn and OAuthTokenTimestamp. The connector uses these properties to determine when the token expires so it can refresh most efficiently. If OAuthExpiresIn and OAuthTokenTimestamp are not specified, the connector refreshes the token immediately.

Access tokens should be treated as sensitive credentials and stored securely. Avoid exposing them in logs, scripts, or configuration files that are not access-controlled.

Scope

This determines the scopes that the OAuth application requests from Confluence.

Data Type

string

Default Value

""

Remarks

Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.

When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested. When InitiateOAuth is set to either REFRESH or OFF, you can use either this property or the Scope input to change which scopes are requested.

By default the connector will request that the user authorize all required scopes. If you want to override this, you can set this property to a space-separated list of OAuth scopes. Please make sure that OAuth App Settings also has these scopes.

The default scopes configured for Cloud instances are: "read:content:confluence read:content-details:confluence read:space-details:confluence read:analytics.content:confluence read:audit-log:confluence read:configuration:confluence read:page:confluence read:blogpost:confluence read:custom-content:confluence read:attachment:confluence read:comment:confluence read:template:confluence read🏷confluence read:content.permission:confluence read:content.property:confluence read:content.restriction:confluence read:content.metadata:confluence read:watcher:confluence read:group:confluence read:inlinetask:confluence read:relation:confluence read:space:confluence read:space.permission:confluence read:space.property:confluence read:space.setting:confluence read:user:confluence offline_access".

The default scopes configured for Server instances are: “READ WRITE”.

OAuthSettingsLocation

Specifies the location of the settings file where OAuth values are saved. Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.

Data Type

string

Default Value

%APPDATA%\Confluence Data Provider\OAuthSettings.txt

Remarks

You can store OAuth values in a central file for shared access to those values, in either of the following ways:

  • Set InitiateOAuth to either GETANDREFRESH or REFRESH and specify a filepath to the OAuth settings file.
  • Use memory storage to load the credentials into static memory.

The following sections provide more detail on each of these methods.

Specifying the OAuthSettingsLocation Filepath

The default OAuth setting location is %APPDATA%\Confluence Data Provider\OAuthSettings.txt, with %APPDATA% set to the user's configuration directory.

Default values vary, depending on the user's operating system.

  • Windows (ODBC and Power BI): registry://%DSN%
  • Windows: %APPDATA%Confluence Data Provider\OAuthSettings.txt
  • Mac: %APPDATA%//Confluence Data Provider/OAuthSettings.txt
  • Linux: %APPDATA%//Confluence Data Provider/OAuthSettings.txt
Loading Credentials Via Memory Storage

Memory locations are specified by using a value starting with memory://, followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose, but it should be unique to the user.

Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again.

To retrieve OAuth property values, query the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.

Supported Storage Types

  • memory://: Stores OAuth tokens in-memory (unique identifier, shared within same process, etc.)
  • registry://: Only supported in the Windows ODBC and Power BI editions. Stores OAuth tokens in the registry under the DSN settings. Must end in a DSN name like registry://Confluence connector Data Source, or registry://%DSN%.
  • %DSN%: The name of the DSN you are connecting with.
  • Default (no prefix): Stores OAuth tokens within files. The value can be either an absolute path, or a path starting with %APPDATA% or %PROGRAMFILES%.

CertificateStore

The certificate store used for Confluence authentication.

Data Type

string

Default Value

""

Remarks

The location of the certificate store for the client certificate used in Confluence application authentication.

CertificateStorePassword

The password of the certificate store used with Confluence authentication.

Data Type

string

Default Value

""

Remarks

If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.

CertificateSubject

The subject of the certificate used with Confluence Private Application authentication.

Data Type

string

Default Value

""

Remarks

The subject of the client certificate used in Confluence private application authentication.

About the Confluence Client SSL Auth Flow

Confluence private application authentication uses SSL client authentication with digital certificates.

Loading a Certificate

When loading a certificate the subject is used to locate the certificate in the store.

  • If an exact match is not found, the store is searched for subjects containing the value of the property.
  • If a match is still not found, no certificate is selected.
  • The special value "*" picks the first certificate in the certificate store.
Specifying the Subject

The certificate subject is a comma-separated list of distinguished name fields and values. For instance "CN=www.server.com, OU=test, C=US, E=example@jbexample.com". Common fields and their meanings are displayed below.

Field Meaning
CN Common Name. This is commonly a host name like www.server.com.
O Organization
OU Organizational Unit
L Locality
S State
C Country
E Email Address

Note: If a field value contains a comma it must be quoted.

Additional Connection Properties

To specify the private certificate, you need to set CertificateSubject and the following additional properties:

CertificateStoreType

The type of certificate store used with Confluence Private Application authentication.

Possible Values

USER, MACHINE, PFXFILE, PFXBLOB, JKSFILE, JKSBLOB, PEMKEY_FILE, PUBLIC_KEY_FILE, PUBLIC_KEY_BLOB, SSHPUBLIC_KEY_BLOB, P10BFILE, SSHPUBLIC_KEY_FILE, PPKFILE, XMLFILE, XMLBLOB

Data Type

string

Default Value

USER

Remarks

The name of the certificate store for the client certificate used in Confluence private application authentication. Confluence private application authentication uses SSL client authentication with digital certificates.

Specifying the Certificate Store Type

The CertificateStoreType property can take one of the following values:

Property Description
User - default For Windows, this specifies that the certificate store is a certificate store owned by the current user. Note: This store type is not available in Java.
Machine For Windows, this specifies that the certificate store is a machine store. Note: this store type is not available in Java.
PFXFile The certificate store is the name of a PFX (PKCS12) file containing certificates.
PFXBlob The certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format.
JKSFile The certificate store is the name of a Java key store (JKS) file containing certificates. Note: this store type is only available in Java.
JKSBlob The certificate store is a string (base-64-encoded) representing a certificate store in Java key store (JKS) format. Note: this store type is only available in Java.
PEMKeyFile The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
PublicKeyFile The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
PublicKeyBlob The certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate.
SSHPublicKeyBlob The certificate store is a string (base-64-encoded) that contains an SSH-style public key.
P10BFile The certificate store is the name of a PKCS10 file containing certificates.
SSHPublicKeyFile The certificate store is the name of a file that contains an SSH-style public key.
PPKFile The certificate store is the name of a file that contains a PPK (PuTTY Private Key).
XMLFile The certificate store is the name of a file that contains a certificate in XML format.
XMLBlob The certificate store is a string that contains a certificate in XML format.

To specify the private certificate, you may need to set the following properties in addition to CertificateStoreType:

  • CertificateStore: Set this to the name of the certificate store. For example, "MY" for a Windows certificate store or the file name of a file store.
  • CertificateStorePassword: If the store is password-protected, provide the password here.
  • CertificateSubject: Set this to the subject of the certificate. To locate the certificate in the store, the connector executes a search based on the specified subject. Refer to the CertificateSubject field for details.

CallbackURL

Identifies the URL users return to after authenticating to Confluence via OAuth. (Custom OAuth applications only.).

Data Type

string

Default Value

""

Remarks

If you created a custom OAuth application, the OAuth authorization server redirects the user to this URL during the authentication process. This value must match the callback URL you specified when you Configured the custom OAuth application.

OAuthVerifier

Specifies a verifier code returned from the OAuthAuthorizationURL. Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.

Data Type

string

Default Value

""

OAuthRefreshToken

Specifies the OAuth refresh token used to request a new access token after the original has expired.

Data Type

string

Default Value

""

Remarks

The refresh token is used to obtain a new access token when the current one expires. It enables seamless authentication for long-running or automated workflows without requiring the user to log in again. This property is especially important in headless, CI/CD, or server-based environments where interactive authentication is not possible.

The refresh token is typically obtained during the initial OAuth exchange by calling the GetOAuthAccessToken stored procedure. After that, it can be set using this property to enable automatic token refresh, or passed to the RefreshOAuthAccessToken stored procedure if you prefer to manage the refresh manually.

When InitiateOAuth is set to REFRESH, the driver uses this token to retrieve a new access token automatically. After the first refresh, the driver saves updated tokens in the location defined by OAuthSettingsLocation, and uses those values for subsequent connections.

The OAuthRefreshToken should be handled securely and stored in a trusted location. Like access tokens, refresh tokens can expire or be revoked depending on the identity provider’s policies.

OAuthExpiresIn

Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.

Data Type

string

Default Value

""

Remarks

The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthExpiresIn is the number of seconds the token is valid from when it was created. For example, a token generated at 2024-01-29 20:00:00 UTC that expires at 2024-01-29 21:00:00 UTC (an hour later) would have an OAuthExpiresIn value of 3600, no matter what the current time is.

To determine how long the user has before the Access Token will expire, use OAuthTokenTimestamp.

OAuthTokenTimestamp

Displays a Unix epoch timestamp in milliseconds that shows how long ago the current Access Token was created.

Data Type

string

Default Value

""

Remarks

The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthTokenTimestamp is the Unix timestamp when the server created the token. For example, OAuthTokenTimestamp=1706558400 indicates the OAuthAccessToken was generated by the server at 2024-01-29 20:00:00 UTC.

SSL

This section provides a complete list of SSL properties you can configure.

Property Description
SSLClientCert Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection.
SSLClientCertType Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source.
SSLClientCertPassword Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access.
SSLClientCertSubject Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store.
SSLServerCert Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

SSLClientCert

Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection.

Data Type

string

Default Value

""

Remarks

This property specifies the client certificate store for SSL Client Authentication. Use this property alongside SSLClientCertType, which defines the type of the certificate store, and SSLClientCertPassword, which specifies the password for password-protected stores. When SSLClientCert is set and SSLClientCertSubject is configured, the driver searches for a certificate matching the specified subject.

Certificate store designations vary by platform. On Windows, certificate stores are identified by names such as MY (personal certificates), while in Java, the certificate store is typically a file containing certificates and optional private keys.

The following are designations of the most common User and Machine certificate stores in Windows:

Property Description
MY A certificate store holding personal certificates with their associated private keys.
CA Certifying authority certificates.
ROOT Root certificates.
SPC Software publisher certificates.

For PFXFile types, set this property to the filename. For PFXBlob types, set this property to the binary contents of the file in PKCS12 format.

SSLClientCertType

Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source.

Possible Values

USER, MACHINE, PFXFILE, PFXBLOB, JKSFILE, JKSBLOB, PEMKEY_FILE, PEMKEY_BLOB, PUBLIC_KEY_FILE, PUBLIC_KEY_BLOB, SSHPUBLIC_KEY_FILE, SSHPUBLIC_KEY_BLOB, P7BFILE, PPKFILE, XMLFILE, XMLBLOB, BCFKSFILE, BCFKSBLOB

Data Type

string

Default Value

USER

Remarks

This property determines the format and location of the key store used to provide the client certificate. Supported values include platform-specific and universal key store formats. The available values and their usage are:

Property Description
USER - default For Windows, this specifies that the certificate store is a certificate store owned by the current user. Note that this store type is not available in Java.
MACHINE For Windows, this specifies that the certificate store is a machine store. Note that this store type is not available in Java.
PFXFILE The certificate store is the name of a PFX (PKCS12) file containing certificates.
PFXBLOB The certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format.
JKSFILE The certificate store is the name of a Java key store (JKS) file containing certificates. Note that this store type is only available in Java.
JKSBLOB The certificate store is a string (base-64-encoded) representing a certificate store in JKS format. Note that this store type is only available in Java.
PEMKEY_FILE The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
PEMKEY_BLOB The certificate store is a string (base64-encoded) that contains a private key and an optional certificate.
PUBLIC_KEY_FILE The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
PUBLIC_KEY_BLOB The certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate.
SSHPUBLIC_KEY_FILE The certificate store is the name of a file that contains an SSH-style public key.
SSHPUBLIC_KEY_BLOB The certificate store is a string (base-64-encoded) that contains an SSH-style public key.
P7BFILE The certificate store is the name of a PKCS7 file containing certificates.
PPKFILE The certificate store is the name of a file that contains a PuTTY Private Key (PPK).
XMLFILE The certificate store is the name of a file that contains a certificate in XML format.
XMLBLOB The certificate store is a string that contains a certificate in XML format.
BCFKSFILE The certificate store is the name of a file that contains an Bouncy Castle keystore.
BCFKSBLOB The certificate store is a string (base-64-encoded) that contains a Bouncy Castle keystore.

SSLClientCertPassword

Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access.

Data Type

string

Default Value

""

Remarks

This property provides the password needed to open a password-protected certificate store. This property is necessary when using certificate stores that require a password for decryption, as is often recommended for PFX or JKS type stores.

If the certificate store type does not require a password, for example USER or MACHINE on Windows, this property can be left blank. Ensure that the password matches the one associated with the specified certificate store to avoid authentication errors.

SSLClientCertSubject

Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store.

Data Type

string

Default Value

*

Remarks

This property determines which client certificate to load based on its subject. The connector searches for a certificate that exactly matches the specified subject. If no exact match is found, the connector looks for certificates containing the value of the subject. If no match is found, no certificate is selected.

The subject should follow the standard format of a comma-separated list of distinguished name fields and values. For example, CN=www.server.com, OU=Test, C=US. Common fields include the following:

Field Meaning
CN Common Name. This is commonly a host name like www.server.com.
O Organization
OU Organizational Unit
L Locality
S State
C Country
E Email Address

Note

If any field contains special characters, such as commas, the value must be quoted. For example: CN="Example, Inc.", C=US.

SSLServerCert

Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

Data Type

string

Default Value

""

Remarks

If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
A path to a local file containing the certificate C:\\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space or colon separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space or colon separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

If not specified, any certificate trusted by the machine is accepted.

Certificates are validated as trusted by the machine based on the System's trust store. The trust store used is the 'javax.net.ssl.trustStore' value specified for the system. If no value is specified for this property, Java's default trust store is used (for example, JAVA_HOME\lib\security\cacerts).

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.

Schema

This section provides a complete list of schema properties you can configure.

Property Description
Location Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemas Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA, TableB, TableC.
Views Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA, ViewB, ViewC.

Location

Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.

Data Type

string

Default Value

%APPDATA%\Confluence Data Provider\Schema

Remarks

The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is %APPDATA%\Confluence Data Provider\Schema, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config

BrowsableSchemas

Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Data Type

string

Default Value

""

Remarks

Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.

Tables

Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC.

Data Type

string

Default Value

""

Remarks

Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.

If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note

If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.

Views

Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Data Type

string

Default Value

""

Remarks

Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.

If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note

If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.

Miscellaneous

This section provides a complete list of miscellaneous properties you can configure.

Property Description
IgnoreErrorsOnPagination This property allows the driver to skip pages that encounter specified server errors during paginated queries and continue retrieving the remaining pages. Note: This property only affects tables with client-side paging.
IncludeArchivedSpaces Whether to include content from archived spaces in the result. This defaults to false.
MaxRows Specifies the maximum rows returned for queries without aggregation or GROUP BY.
Other Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties.
Pagesize The maximum number of records per page the provider returns when requesting data from Confluence.
PseudoColumns Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property.
SpaceKey By specifying the SpaceKey, the search results will only display contents from this specific space.
Timeout Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout.
UserDefinedViews Specifies a filepath to a JSON configuration file defining custom views. The provider automatically detects and uses the views specified in this file.

IgnoreErrorsOnPagination

This property allows the driver to skip pages that encounter specified server errors during paginated queries and continue retrieving the remaining pages. Note: This property only affects tables with client-side paging.

Data Type

string

Default Value

None

Remarks

When enabled, this property allows the driver to handle specific errors gracefully during paginated queries. If a server error occurs while fetching a page or batch — such as an HTTP 5xx status code — the error will be logged, the problematic page will be skipped, and the driver will proceed to retrieve the remaining pages. As a result, the query will return all data that was successfully fetched.

This property accepts:

\* - Ignore all HTTP server error status codes

*None* - Disable error skipping (default)

Comma-separated list of server error status codes (e.g., "500,501,503") - Ignore only the specified server errors

IncludeArchivedSpaces

Whether to include content from archived spaces in the result. This defaults to false.

Data Type

bool

Default Value

false

Remarks

If this property is set to true, content such as comments, attachments, pages and blogspots belonging to an archived space will be included in the result.

MaxRows

Specifies the maximum rows returned for queries without aggregation or GROUP BY.

Data Type

int

Default Value

-1

Remarks

This property sets an upper limit on the number of rows the connector returns for queries that do not include aggregation or GROUP BY clauses. This limit ensures that queries do not return excessively large result sets by default.

When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting. If MaxRows is set to "-1", no row limit is enforced unless a LIMIT clause is explicitly included in the query.

This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.

Other

Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties.

Data Type

string

Default Value

""

Remarks

This property allows advanced users to configure hidden properties for specialized scenarios. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. Multiple properties can be defined in a semicolon-separated list.

Note

It is strongly recommended to set these properties only when advised by the support team to address specific scenarios or issues.

Specify multiple properties in a semicolon-separated list.

Integration and Formatting
Property Description
DefaultColumnSize Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMT=True Converts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time).
RecordToFile=filename Records the underlying socket data transfer to the specified file.

Pagesize

The maximum number of records per page the provider returns when requesting data from Confluence.

Data Type

int

Default Value

200

Remarks

When processing a query, instead of requesting all of the queried data at once from Confluence, the connector can request the queried data in pieces called pages.

This connection property determines the maximum number of results that the connector requests per page.

Note that setting large page sizes may improve overall query execution time, but doing so causes the connector to use more memory when executing queries and risks triggering a timeout.

PseudoColumns

Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property.

Data Type

string

Default Value

""

Remarks

This property allows you to define which pseudocolumns the connector exposes as table columns.

To specify individual pseudocolumns, use the following format: "Table1=Column1;Table1=Column2;Table2=Column3"

To include all pseudocolumns for all tables use: "*=*"

SpaceKey

By specifying the SpaceKey, the search results will only display contents from this specific space.

Data Type

string

Default Value

""

Remarks

If SpaceKey is specified both in the SQL query as well as a connection property, the value in the SQL query will take precedence over the connection property.

Timeout

Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout.

Data Type

int

Default Value

60

Remarks

This property controls the maximum time, in seconds, that the connector waits for an operation to complete before canceling it. If the timeout period expires before the operation finishes, the connector cancels the operation and throws an exception.

The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond the timeout value if each paging call completes within the timeout limit.

Setting this property to 0 disables the timeout, allowing operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server. Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.

UserDefinedViews

Specifies a filepath to a JSON configuration file defining custom views. The provider automatically detects and uses the views specified in this file.

Data Type

string

Default Value

""

Remarks

This property allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the connector and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view. For example:

{
    "MyView": {
        "query": "SELECT * FROM Pages WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }

}

You can define multiple views in a single file and specify the filepath using this property. For example: UserDefinedViews=C:\Path\To\UserDefinedViews.json. When you use this property, only the specified views are seen by the connector.

Refer to User Defined Views for more information.