Confluence integration security

Confluence Cloud Authentication

TeamRetro utilizes OAuth2 authorization to integrate with Confluence Cloud instances. We request the following four access scopes:
Scope Required for:
read:confluence-space.summary Read list of Confluence spaces during configuration of the integration. 
write:confluence-content Create new pages for retrospective and health check reports
write:confluence-file Add PDF attachment to retrospective and health check pages
read:confluence-content.summary Allow TeamRetro to check if a parent page ("Retrospective" or "Health Check") exists.
offline_access Allow TeamRetro to post meeting reports to Confluence without requiring re-authentication each time.
search:confluence Enable parent page autocomplete during configuration of the integration.
Further information on these access scopes can be found at https://developer.atlassian.com/cloud/confluence/scopes/

Confluence Server Authentication

For Confluence Server it's via a Confluence username / password. As we need to send these across with the API they are stored encrypted but not hashed - so we do strongly recommend creating a separate Confluence user for TeamRetro. We are evaluating support for Oauth1 integration in future.

Request Origination

Calls to Confluence Server / Confluence Cloud will originate from our servers in AWS and are proxied via the fixed Elastic IP addresses.
  • US Environment - 44.207.115.152
  • EU Environment - 3.74.131.45

APIs Used

In order to push retrospective and health check summary reports through to Confluence, we retrieve a list of confluence spaces to allow the administrator to select the target parent page in Confluence. Before creating a page for the retrospective or health check, TeamRetro will check to see if a suitable parent page (eg. "Retrospectives") already exists, and if not will create one.
We make use of the following APIs:
API Required for:
/oauth/token/accessible-resources (GET) get a list of Atlassian Cloud instances the user has access to (Confluence Cloud only)
/rest/api/space (GET) get a list of spaces in the selected Confluence instance
/rest/api/content (GET) check to see if "Retrospective" / "Health Check" parent page already exists
/rest/api/content (POST/PUT) create parent page / retrospective / health check page
/rest/api/content/XXXXXXX/child/attachment (POST) upload PDF summary attachments
/rest/api/content/search (GET) search for existing parent pages (autocomplete)
We do not read any other content.

Still need help? Contact Us Contact Us