Atlassian Confluence
The Atlassian Confluence connector facilitates integration with Confluence, enabling automated management of spaces, pages, and user data.
Atlassian Confluence is a powerful collaboration platform that enables teams to create, share, and manage content seamlessly. The integration with Swimlane Turbine allows users to automate content management tasks such as creating pages, blog posts, and spaces, retrieving attachments, and managing user information. This enhances operational efficiency by streamlining content workflows, reducing manual effort, and ensuring timely updates and collaboration within the Confluence environment.
Prerequisites
Before you can use the Atlassian Confluence connector for Turbine, you'll need access to the Confluence API. This requires the following:
- Confluence Authentication using the following parameters:
- URL: The base URL of your Confluence instance.
- Username: Your Confluence username for authentication.
- Password: Your Confluence password for authentication.
- HTTP Basic Authentication using the following parameters:
- Domain URL: The domain URL of your Confluence instance.
- Email: Your email address associated with your Confluence account.
- API Token: An API token generated from your Atlassian account for secure access.
Asset Setup and Capabilities
The Atlassian Confluence connector provides the following capabilities:
- 'Confluence Authentication' for the following actions which require a URL, Username, and Password for authentication.
- Get Attachments
- Get content ID
- Update Page
- 'API Key Authentication' is added for the following actions which require URL, Email, and API Token for authentication.
- Create Blog Post
- Create Page
- Create Space
- Get Groups
- Get User
- Search Content
Documentation
Additional Documentation
Configurations
Confluence Authentication
Confluence Authentication
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | A URL to the target host. | string | Required |
username | Confluence username | string | Required |
password | Confluence password | string | Required |
API Key Authentication
Authenticates using Email and API Token.
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | Domain URL. | string | Required |
username | Atlassian Account Email | string | Required |
password | API Token | string | Required |
verify_ssl | Verify SSL certificate | boolean | Optional |
http_proxy | A proxy to route requests through. | string | Optional |
Actions
Create Blog Post
Create a new blog post in Atlassian Confluence using the specified space ID.
Endpoint
- URL: /wiki/api/v2/blogposts
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.private | boolean | Optional | Parameters for the Create Blog Post action |
spaceId | string | Optional | Unique identifier |
status | string | Optional | Status value |
title | string | Optional | Parameter for Create Blog Post |
body | object | Optional | Request body data |
body.representation | string | Optional | Request body data |
body.value | string | Optional | Request body data |
Input Example
{"parameters":{"private":false},"json_body":{"spaceId":"<string>","status":"current","title":"<string>","body":{"representation":"storage","value":"<string>"}}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
createdAt | object | Output field: createdAt |
authorId | object | Unique identifier |
id | string | Unique identifier |
version | object | Output field: version |
version.number | number | Output field: version.number |
version.message | string | Response message |
version.minorEdit | boolean | Output field: version.minorEdit |
version.authorId | string | Unique identifier |
version.createdAt | string | Output field: version.createdAt |
title | string | Output field: title |
status | string | Status value |
body | object | Request body data |
body.storage | object | Request body data |
body.storage.value | string | Request body data |
body.storage.representation | string | Request body data |
spaceId | string | Unique identifier |
_links | object | Output field: _links |
_links.editui | string | Output field: _links.editui |
_links.webui | string | Output field: _links.webui |
_links.tinyui | string | Output field: _links.tinyui |
Output Example
{"status_code":200,"response_headers":{"Date":"Thu, 14 Dec 2023 16:18:09 GMT","Content-Type":"application/json","Server":"AtlassianEdge","Atl-Confluence-Via":"h:confluence-prod-us-6-2.prod.atl-paas.net","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Atl-Traceid":"64f99be3ed614495b6d44c252f042627","Report-To":"{\"endpoints\": [{\"url\": \"https://dz8aopenkvv6s.cloudfront.net\"}], \"group\": \"endpo...","Nel":"{\"failure_fr...
Create Page
Create a new page in the specified space within Atlassian Confluence. Requires json_body with spaceId.
Endpoint
- URL: /wiki/api/v2/pages
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.embedded | boolean | Optional | Parameters for the Create Page action |
parameters.private | boolean | Optional | Parameters for the Create Page action |
spaceId | string | Optional | Unique identifier |
status | string | Optional | Status value |
title | string | Optional | Parameter for Create Page |
parentId | string | Optional | Unique identifier |
body | object | Optional | Request body data |
body.representation | string | Optional | Request body data |
body.value | string | Optional | Request body data |
Input Example
{"parameters":{"embedded":false,"private":false},"json_body":{"spaceId":"<string>","status":"current","title":"<string>","parentId":"<string>","body":{"representation":"string","value":"<string>"}}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
parentType | string | Type of the resource |
createdAt | object | Output field: createdAt |
authorId | object | Unique identifier |
id | string | Unique identifier |
version | object | Output field: version |
version.number | number | Output field: version.number |
version.message | string | Response message |
version.minorEdit | boolean | Output field: version.minorEdit |
version.authorId | string | Unique identifier |
version.createdAt | string | Output field: version.createdAt |
position | number | Output field: position |
title | string | Output field: title |
status | string | Status value |
body | object | Request body data |
body.storage | object | Request body data |
body.storage.value | string | Request body data |
body.storage.representation | string | Request body data |
parentId | string | Unique identifier |
spaceId | string | Unique identifier |
ownerId | object | Unique identifier |
lastOwnerId | object | Unique identifier |
_links | object | Output field: _links |
_links.editui | string | Output field: _links.editui |
Output Example
{"status_code":200,"response_headers":{"Date":"Thu, 14 Dec 2023 16:16:40 GMT","Content-Type":"application/json","Server":"AtlassianEdge","Atl-Confluence-Via":"h:confluence-prod-us-6-2.prod.atl-paas.net","Vary":"Accept-Encoding","Content-Encoding":"gzip","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Atl-Traceid":"b3e2d97a95f54c6192456147ba75d15e","Report-To":"{\"endpoints\": [{\"url\": \"https://dz8aopenkvv6s.cloudfront.net\"}], \"group\": \"endpo...","Nel":"{\"failure_fr...
Create Space
Create a new space in Atlassian Confluence using the key and name. Note, currently you cannot set space labels when creating a space.
Endpoint
- URL: /wiki/rest/api/space
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
key | string | Optional | Parameter for Create Space |
name | string | Optional | Name of the resource |
description | object | Optional | Parameter for Create Space |
description.plain | object | Required | Parameter for Create Space |
description.plain.value | string | Optional | Value for the parameter |
description.plain.representation | string | Optional | Parameter for Create Space |
permissions | array | Optional | Parameter for Create Space |
permissions.subjects | object | Optional | Parameter for Create Space |
permissions.subjects.user | object | Optional | Parameter for Create Space |
permissions.subjects.user.results | array | Required | Result of the operation |
permissions.subjects.user.results.type | string | Required | Type of the resource |
permissions.subjects.user.results.username | string | Optional | Name of the resource |
permissions.subjects.user.results.userKey | string | Optional | Result of the operation |
permissions.subjects.user.results.accountId | string | Optional | Unique identifier |
permissions.subjects.user.results.accountType | string | Optional | Type of the resource |
permissions.subjects.user.results.email | string | Optional | Result of the operation |
permissions.subjects.user.results.publicName | string | Optional | Name of the resource |
permissions.subjects.user.results.profilePicture | object | Optional | Result of the operation |
permissions.subjects.user.results.displayName | string | Optional | Name of the resource |
permissions.subjects.user.results.timeZone | string | Optional | Result of the operation |
permissions.subjects.user.results.isExternalCollaborator | boolean | Optional | Result of the operation |
permissions.subjects.user.results.externalCollaborator | boolean | Optional | Result of the operation |
permissions.subjects.user.results.operations | array | Optional | Result of the operation |
permissions.subjects.user.results.details | object | Optional | Result of the operation |
permissions.subjects.user.results.personalSpace | object | Optional | Result of the operation |
Input Example
{"json_body":{"key":"<string>","name":"<string>","description":{"plain":{"value":"<string>","representation":"<string>"}},"permissions":[{"subjects":{"user":{"results":[{"type":"known","username":"<string>","userKey":"<string>","accountId":"<string>","accountType":"atlassian","email":"<string>","publicName":"<string>","profilePicture":{"path":"<string>","width":2154,"height":2154,"isDefault":true},"displayName":"<string>","timeZone":"<string>","isExternalCollaborator":true,"externalCollaborator":true,"operations":[{"operation":"administer","targetType":"<string>"}],"details":{},"personalSpace":{"key":"<string>","name":"<string>","type":"<string>","status":"<string>","_expandable":{},"_links":{}},"_expandable":{"operations":"<string>","details":"<string>","personalSpace":"<string>"},"_links":{}}],"size":2154},"group":{"results":[{"type":"group","name":"<string>","id":"<string>"}],"size":2154}},"operation":{"operation":"administer","targetType":"<string>"},"anonymousAccess":true,"unlicensedAccess":true}]}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
id | number | Unique identifier |
key | string | Output field: key |
name | string | Name of the resource |
description | object | Output field: description |
description.plain | object | Output field: description.plain |
description.plain.value | string | Value for the parameter |
description.plain.representation | string | Output field: description.plain.representation |
description.plain.embeddedContent | array | Response content |
description.plain.embeddedContent.file_name | string | Name of the resource |
description.plain.embeddedContent.file | string | Response content |
description._expandable | object | Output field: description._expandable |
description._expandable.view | string | Output field: description._expandable.view |
homepage | object | Output field: homepage |
homepage.id | string | Unique identifier |
homepage.type | string | Type of the resource |
homepage.status | string | Status value |
homepage.title | string | Output field: homepage.title |
homepage.paywallStatus | string | Status value |
homepage.macroRenderedOutput | object | Output field: homepage.macroRenderedOutput |
homepage.extensions | object | Output field: homepage.extensions |
homepage.extensions.position | number | Output field: homepage.extensions.position |
homepage._expandable | object | Output field: homepage._expandable |
homepage._expandable.container | string | Output field: homepage._expandable.container |
Output Example
{"status_code":200,"response_headers":{"Date":"Thu, 14 Dec 2023 16:13:03 GMT","Content-Type":"application/json","Server":"AtlassianEdge","Atl-Confluence-Via":"h:confluence-prod-us-6-2.prod.atl-paas.net","Vary":"Accept-Encoding","Cache-Control":"no-cache, no-store, must-revalidate","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Encoding":"gzip","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Atl-Traceid":"ed687b10fbc54ec2b114220024502eb4","Report-To":"{\"endpoints\": [{...
Get Attachments
Retrieve attachments from Atlassian Confluence using the specified content ID.
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | Unique identifier |
Input Example
{"id":"2613477397"}
Output
Parameter | Type | Description |
|---|---|---|
file | array | File |
Output Example
{"file":{"filename":"Example Name","file_data":"string"}}
Get Content ID
Retrieve the content ID from a specified path in Atlassian Confluence.
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
space | string | Optional | Parameter for Get Content ID |
title | string | Optional | Parameter for Get Content ID |
path | string | Optional | Parameter for Get Content ID |
Input Example
{"space":"CON","title":"This is just a test page","path":"spaces/CON/pages/2613477397/This+is+just+a+test+page"}
Output
Parameter | Type | Description |
|---|---|---|
id | number | Unique identifier |
status_code | number | HTTP status code of the response |
headers | object | HTTP headers for the request |
reason | string | Response reason phrase |
Output Example
{"id":2613477397,"status_code":200,"headers":null,"reason":"OK"}
Get Groups
Return all user groups in Atlassian Confluence, ordered alphabetically by group name.
Endpoint
- URL: /wiki/rest/api/group
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.start | number | Optional | Parameters for the Get Groups action |
parameters.limit | number | Optional | Parameters for the Get Groups action |
parameters.accessType | string | Optional | Parameters for the Get Groups action |
Input Example
{"parameters":{"start":0,"limit":25,"accessType":"admin"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results.type | string | Type of the resource |
results.name | string | Name of the resource |
results.id | string | Unique identifier |
results._links | object | Result of the operation |
results._links.self | string | Result of the operation |
start | number | Output field: start |
limit | number | Output field: limit |
size | number | Output field: size |
_links | object | Output field: _links |
_links.base | string | Output field: _links.base |
_links.context | string | Output field: _links.context |
_links.self | string | Output field: _links.self |
Output Example
{"status_code":200,"response_headers":{"Date":"Thu, 14 Dec 2023 12:08:44 GMT","Content-Type":"application/json","Server":"AtlassianEdge","Atl-Confluence-Via":"h:confluence-prod-us-6-2.prod.atl-paas.net","Vary":"Accept-Encoding","Cache-Control":"no-cache, no-store, must-revalidate","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Encoding":"gzip","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Atl-Traceid":"e5c79806580e49c9bbc3bb29e6df9714","Strict-Transport-Security":"ma...
Get User
Retrieve detailed user information in Atlassian Confluence, including display name, account ID, and profile picture. Requires the accountId parameter.
Endpoint
- URL: /wiki/rest/api/user
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.accountId | string | Required | Parameters for the Get User action |
parameters.expand | array | Optional | Parameters for the Get User action |
Input Example
{"parameters":{"accountId":"712020:12fb47c4-3e17-45cd-a8ec-d812a9d52254","expand":["operations","personalSpace","isExternalCollaborator"]}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
type | string | Type of the resource |
accountId | string | Unique identifier |
accountType | string | Type of the resource |
string | Output field: email | |
publicName | string | Name of the resource |
profilePicture | object | Output field: profilePicture |
profilePicture.path | string | Output field: profilePicture.path |
profilePicture.width | number | Unique identifier |
profilePicture.height | number | Output field: profilePicture.height |
profilePicture.isDefault | boolean | Output field: profilePicture.isDefault |
displayName | string | Name of the resource |
operations | array | Output field: operations |
operations.operation | string | Output field: operations.operation |
operations.targetType | string | Type of the resource |
isExternalCollaborator | boolean | Output field: isExternalCollaborator |
_expandable | object | Output field: _expandable |
_expandable.personalSpace | string | Output field: _expandable.personalSpace |
_links | object | Output field: _links |
_links.self | string | Output field: _links.self |
_links.base | string | Output field: _links.base |
_links.context | string | Output field: _links.context |
Output Example
{"status_code":200,"response_headers":{"Date":"Thu, 14 Dec 2023 16:20:08 GMT","Content-Type":"application/json","Server":"AtlassianEdge","Atl-Confluence-Via":"h:confluence-prod-us-6-2.prod.atl-paas.net","Vary":"Accept-Encoding","Cache-Control":"no-cache, no-store, must-revalidate","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Encoding":"gzip","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Atl-Traceid":"fdaff7943dbd418ba7c8f8d8b1cee3bc","Report-To":"{\"endpoints\": [{...
Search Content
Return a list of content matching a Confluence Query Language (CQL) query in Atlassian Confluence.
Endpoint
- URL: /wiki/rest/api/content/search
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.cql | string | Optional | The CQL string that is used to find the requested content. |
parameters.cqlcontext | string | Optional | The space, content, and content status to execute the search against. |
parameters.expand | array | Optional | A multi-value parameter indicating which properties of the content to expand. |
parameters.cursor | string | Optional | Pointer to a set of search results, returned as part of the next or prev URL from the previous search call. |
parameters.limit | number | Optional | Parameters for the Search Content action |
Input Example
{"parameters":{"cql":"","cqlcontext":"","expand":[""],"cursor":"","limit":25}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results.file_name | string | Name of the resource |
results.file | string | Result of the operation |
start | number | Output field: start |
limit | number | Output field: limit |
size | number | Output field: size |
_links | object | Output field: _links |
_links.base | string | Output field: _links.base |
_links.context | string | Output field: _links.context |
_links.self | string | Output field: _links.self |
Output Example
{"status_code":200,"response_headers":{"Date":"Thu, 14 Dec 2023 11:50:02 GMT","Content-Type":"application/json","Server":"AtlassianEdge","Atl-Confluence-Via":"h:confluence-prod-us-6-2.prod.atl-paas.net","Vary":"Accept-Encoding","Cache-Control":"no-cache, no-store, must-revalidate","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Encoding":"gzip","X-Content-Type-Options":"nosniff","X-Xss-Protection":"1; mode=block","Atl-Traceid":"f7c862a2b0564efbafe5b24fae0852ca","Strict-Transport-Security":"ma...
Update Page
Update documents in Atlassian Confluence using the page ID and new content.
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
title | string | Optional | Parameter for Update Page |
id | string | Required | Unique identifier |
content | string | Required | Response content |
Input Example
{"title":"Another test for the confluence connector","id":"2613411864","content":"Updated content"}
Output
Parameter | Type | Description |
|---|---|---|
successful | boolean | Whether the operation was successful |
status_code | number | HTTP status code of the response |
headers | object | HTTP headers for the request |
reason | string | Response reason phrase |
Output Example
{"successful":true,"status_code":200,"headers":null,"reason":"OK"}
Response Headers
Header | Description | Example |
|---|---|---|
Atl-Confluence-Via | HTTP response header: Atl-Confluence-Via | h:confluence-prod-us-6-2.prod.atl-paas.net |
Atl-Traceid | HTTP response header: Atl-Traceid | 64f99be3ed614495b6d44c252f042627 |
Cache-Control | Directives for caching mechanisms | no-cache, no-store, must-revalidate |
Content-Encoding | HTTP response header: Content-Encoding | gzip |
Content-Type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |
Expires | The date/time after which the response is considered stale | Thu, 01 Jan 1970 00:00:00 GMT |
Nel | HTTP response header: Nel | {"failure_fraction": 0.001, "include_subdomains": true, "max_age": 600, "report_to": "endpoint-1"} |
Report-To | HTTP response header: Report-To | {"endpoints": [{"url": "https://dz8aopenkvv6s.cloudfront.net"}], "group": "endpoint-1", "include_subdomains": true, "max_age": 600} |
Server | Information about the software used by the origin server | AtlassianEdge |
Strict-Transport-Security | HTTP response header: Strict-Transport-Security | max-age=63072000; includeSubDomains; preload |
Transfer-Encoding | HTTP response header: Transfer-Encoding | chunked |
Vary | HTTP response header: Vary | Accept-Encoding |
X-Content-Type-Options | HTTP response header: X-Content-Type-Options | nosniff |
X-Xss-Protection | HTTP response header: X-Xss-Protection | 1; mode=block |