Skip to main content
The Confluence recipe retrieves data from an instance of Atlassian’s Confluence corporate wiki system. You can view the configuration details and JSON recipe at the public REST configuration repository on GitHub in addition to this page.
Atlassian removed the Confluence v1 REST API from service on March 31, 2025. The previous recipe named confluence-v1.json relies on this older API and does not work as a result. All users must migrate to confluence.json, which requires the REST V2 connector v1.1.0 or later.

Update your Confluence recipe

If you are using the confluence-v1.json recipe, you must migrate to the confluence.json recipe. You have two options for updating to the confluence.json recipe:
  • Clear an existing datasource and replace the recipe. This is the recommended method.
  • Create a new datasource with the new recipe.
Before choosing a method, make sure you have downloaded the confluence.json recipe file and edited the following values in the file:
  • serviceURL: Your Confluence URL
  • Confluence username and password or API token
  • collection: Your Fusion collection name
  • pipeline: Your Fusion pipeline name
You must have the REST V2 connector installed before performing these steps.
To use the same REST V2 datasource for your updated Confluence recipe:
  • Navigate to Indexing > Datasources and select your existing REST V2 datasource.
  • Click Clear Datasource.
  • Use the Connector Datasources API to replace the datasource configuration. Replace AUTHORIZATION_CREDENTIALS with your Lucidworks login information in Base64:
  • Return to your datasource in Fusion. Make any additional edits to your configuration and click Save.
  • Click Run, and then click Start to run your datasource.
To use a new datasource for your updated Confluence recipe:
  • Navigate to Indexing > Datasources.
  • Click Add + and select REST (v2) to create a new datasource.
  • Fill out the following required fields:
    • Enter a name for the connector in the Configuration ID field.
    • Enter your Fusion pipeline in the Pipeline ID field.
    • Enter your Confluence URL in the Service URL field.
  • Upload the recipe to Fusion with the Connector Datasources API. Replace AUTHORIZATION_CREDENTIALS with your Lucidworks login information in Base64:
  • Return to your datasource in Fusion. Make any additional edits to your configuration and click Save.
  • Click Run, and then click Start to run your datasource.

Confluence REST configuration

This documentation describes the Confluence REST confluence.json file configuration such as the authentication methods, data crawled and retrieved, pagination information, variables used, and endpoints used. Terminology is also provided as a reference. The list of data the REST connector crawls using the Confluence REST configuration is:
  • Spaces
  • Pages such as Wiki pages
  • Blog posts
  • Page and blog post comments
The REST connector indexes each item as individual Solr documents. The Confluence REST configuration uses hierarchical requests and requires the REST V2 connector v1.1.0 or later. The configuration uses the Confluence API v2.0.

Authentication methods

The Confluence REST configuration supports:
  • Basic Authentication using the username and password from an Atlassian account. For more information, see Basic auth for REST APIs.
  • API Token. For information about how to create a new API token, see API Tokens.

Supported crawl options

The Confluence REST configuration supports the following crawl options:
  • Full crawl
  • Recrawl that relies on the strayContentDeletion parameter

Pagination information

This recipe uses pagination per request. The connector requests the next page’s URL, and Confluence returns the next page’s URL in the response under the _links.next path. When _links.next is not provided in the response, the connector has found no more pages, and the pagination stops. The following code sample shows an example response snippet with a link to a next page:

Configure the pagination by next page URL property

  • Next Page URL Key: _links.next, where _links.next is the key of the response that contains the next page URL

Configure query parameters

  • limit=50, where 50 is the number of items per page
Learn more about Confluence pagination.

Variables used

The Confluence REST configuration uses one variable. ${LW_PARENT_DATA_KEY} is used to access a value of the response from the main request to use in an additional request. The Confluence use case indicates this variable can be added to the URL to execute a GET request to retrieve comments for blog posts and pages.

Endpoints to configure with the Confluence REST connector

The following table describes the Confluence REST connector endpoints. Each request is configured under the property List of Requests Configuration, or under requestConfigurations in the Confluence recipe.

Notes

  • The requests are linked hierarchically using the properties ObjectType and ParentObjectType.
    • This hierarchy maintains the parent-child relationships between different levels of objects. For instance, a Page is a Space-Child, a Comment is a Page-Child, and a Comment-Reply is a Comment-Child.
    • When objects are indexed, the field _lw_rest_parent_object_ss keeps the list of parents related to an object. For example, for a page, indexes _lw_rest_parent_object_ss: ["/spaces/TestSpaceName", "/spaces/TestSpace/pages/<pageId>/TestPageName"], where <pageId> is a numeric value.
  • With Confluence API v2 endpoints, different requests are needed to retrieve the footer comments and inline comments from pages and blog posts. To maintain the relationship between the comments, replies, and their parents (pages, blog posts, and spaces), there are eight different requests configurations.
    • To retrieve page comments: COMMENT_FOOTER_PAGE and COMMENT_INLINE_PAGE.
    • To retrieve replies of comments: COMMENT_REPLY_FOOTER_PAGE, and COMMENT_REPLY_INLINE_PAGE.
    • To retrieve blog comments: COMMENT_FOOTER_BLOG and COMMENT_INLINE_BLOG.
    • To retrieve replies of blog comments: COMMENT_REPLY_FOOTER_BLOG, and COMMENT_REPLY_INLINE_BLOG.
    • When comments are indexed, the field contains: _lw_rest_parent_object_ss: ["/spaces/TestSpaceName", "/spaces/TestSpace/pages/<pageId>/TestPageName", "<commentId>"].
    • When replies are indexed, the field contains: _lw_rest_parent_object_ss: ["/spaces/TestSpaceName", "/spaces/TestSpace/pages/<pageId>/TestPageName", "<commentId>", "<commentReplyId>"], where <pageId>, <commentId> and <commentReplyId> are numeric values.

Response parsing configuration

Per request, configure the Response Handling property to specify how to parse the response. This field is responseConfiguration in the JSON recipe. The Confluence recipe does not use binary parsing.

Plugin parsing

  • This parsing happens by default. The responses are parsed as a JSON object structure using JsonPath.
  • Plugin parsing applies to all the requests listed in the Endpoints configuration table.
  • The properties Response Handling -> Data ID, Data Path are configured to extract certain values from the objects parsed.
  • The properties Response Handling -> Parent Data Key are configured to extract the ‘id’ of the parent object.

Terminology

The following terms are provided as a reference.

Recipe

Replace the following values in the recipe:
  • pipeline with your Fusion pipeline
  • collection with your Fusion collection
  • id with the name of a Fusion datasource if you want to use a different name than the one provided
  • serviceURL with your Confluence URL
  • password with your Confluence password or API token
  • user with your Confluence email address