Confluence Source

The Confluence source allows DDF to pull pages/comments/attachments from a Confluence REST API  and turns the results into Metacards the system can use.

Confluence Source has been tested against the following versions of Confluence with REST API v2

  • Confluence 1000.444.5 (Cloud)
  • Confluence 5.10.6 (Server)
  • Confluence 5.10.7 (Server)

Source Configuration Properties

NameDescription
Confluence Rest URL
The Confluence Rest API endpoint URL. Example: https://<host>:<port>/rest/api/content
Username
Username to use with HTTP Basic Authentication. This auth info will overwrite any federated auth info. Only set this if the Confluence endpoint requires basic authentication.
Password
Password to use with HTTP Basic Authentication. This auth info will overwrite any federated auth info. Only set this if the Confluence endpoint requires basic authentication.
Include Page Contents In Results
Flag indicating if Confluence page contents should be included in the returned results.

If page contents not included in results then the returned metacards will not have the `description` or `metadata` fields set

Include Archived Spaces
Flag indicating if archived confluence spaces should be included in search results.
Exclude Confluence Spaces
Flag indicating if the list of Confluence Spaces should be excluded from searches instead of included.
Confluence Spaces
The confluence spaces to include/exclude from searches. If no spaces are specified all visible spaces will be searched.

A confluence space must be set in order for wildcard only searches to work

Additional Attributes
Additional attributes to add to confluence metacards returned from this source.

This can be used to add security attributes to the metacards returned. See Security (Alliance) for a list of the security attributes that could be used. Also note that you will need to map these attributes in

Availability Poll Interval
Availability polling interval in milliseconds

Confluence Query Restrictions

Most of the fields that can be queried on confluence have some sort of restriction on them. The tables below try to capture most of the restrictions. Most of the fields do not support the `like` aka `~` operation so the source will convert `like` queries to 'equal` queries for attributes that don't support 'like'. If the source receives a query with attributes it doesn't understand, it will just ignore them. If the query doesn't contain any attributes that map to confluence search attributes, an empty result set will be returned. 

Attachment Downloads

Depending on your version of Confluence, when downloading attachments you might get redirected to a different download URL. If this happens the default URLResourceReader configuration does not allow redirects and will fail the download. This can be fixed by enabling redirects in the URLResourceReader configuration.

Common Taxonomy Attributes (https://codice.atlassian.net/wiki/display/DDF/Attributes)

Attribute NameSourceQuery Restrictions

created

history.createDate>, <, =

description

First 256 characters of the Confluence entry body

Not directly queryable.
idUses the Confluence id as the metacard id.=, !=
metacard-tagsresource, confluence

metadata

Tika-like formatted xml containing the entire text body of the Confluence entry

Queryable via `anyText`

~, !~

modified

history.lastModified.when>, <, =

resource-download-url

_links.downloadNot directly queryable.

resource-size

extensions.fileSizeNot directly queryable.

resource-uri

_links.downloadNot directly queryable.

title

title=, !=, ~, !~
associations.external_links.webui, _links.base, space._links.webuiNot directly queryable.

contact.contributor-name

history.contributors.publishers.users.username=, !=

contact.creator-name

history.createdBy.username=, !=
media.typemetadata.mediaTypeNot directly queryable.

metacard.created

history.createDate>, <, =

metacard.modified

history.lastModified.when>, <, =
security.access-groupsrestrictions.read.restrictions.group.nameNot directly queryable.
security.access-individualsrestrictions.read.restrictions.user.usernameNot directly queryable.
topic.keywordmetadata.labels.results.name=, !=
topic.categorytype=, !=
topic.vocabularyhttps://developer.atlassian.com/confdev/confluence-server-rest-api/advanced-searching-using-cql/cql-field-reference#CQLFieldReference-titleTitleTypeNot directly queryable.

Some Examples from the DDF Search UI

(Page result left, attachment result right)

Example Metadata


Decision

Added Confluence Source.

https://github.com/codice/ddf/tree/2.27.x/catalog/confluence/catalog-confluence-source