| name | confluence-server |
| description | This skill enables interaction with Confluence Server/Data Center REST API for documentation retrieval and knowledge management. Use when the user wants to read pages, search content, list spaces, or retrieve documentation from Confluence Server. |
Confluence Server
This skill provides tools for interacting with Confluence Server/Data Center's REST API, focusing on documentation retrieval and knowledge aggregation workflows.
Prerequisites
The following environment variables must be set:
CONFLUENCE_URL- Base URL of the Confluence Server instance (e.g.,https://confluence.example.com)CONFLUENCE_USER- Username for authenticationCONFLUENCE_TOKEN- Personal access token for authentication
Available Commands
The scripts/confluence_api.py script provides a CLI for Confluence Server operations. Execute it with Python 3:
python3 scripts/confluence_api.py <command> [options]
Content Commands
| Command | Description |
|---|---|
get-page |
Get a page by ID with content |
get-page-by-title |
Get a page by title and space key |
list-pages |
List pages in a space |
search |
Search content using CQL |
get-children |
Get child pages of a page |
get-attachments |
List attachments on a page |
Space Commands
| Command | Description |
|---|---|
list-spaces |
List all accessible spaces |
get-space |
Get space details |
Command Usage Examples
Get Page Content
# Get page by ID (storage format - XHTML)
python3 scripts/confluence_api.py get-page --page-id 12345
# Get page with rendered HTML view
python3 scripts/confluence_api.py get-page --page-id 12345 --body-format view
# Get page by title and space
python3 scripts/confluence_api.py get-page-by-title --space-key DEV --title "Architecture Overview"
List Pages in Space
# List pages in a space (first 25)
python3 scripts/confluence_api.py list-pages --space-key DEV
# List pages with custom limit
python3 scripts/confluence_api.py list-pages --space-key DEV --limit 50
# List all pages in space (handles pagination)
python3 scripts/confluence_api.py list-pages --space-key DEV --all
Search Content
# Search by text
python3 scripts/confluence_api.py search --cql "text ~ 'authentication'"
# Search in specific space
python3 scripts/confluence_api.py search --cql "space = DEV AND text ~ 'API'"
# Search by title
python3 scripts/confluence_api.py search --cql "title ~ 'Setup Guide'"
# Search recent pages (modified in last 7 days)
python3 scripts/confluence_api.py search --cql "type = page AND lastmodified > now('-7d')"
# Search with label
python3 scripts/confluence_api.py search --cql "label = 'architecture'"
# Get all search results
python3 scripts/confluence_api.py search --cql "space = DEV" --all
Get Child Pages
# Get child pages
python3 scripts/confluence_api.py get-children --page-id 12345
# Get all children (paginated)
python3 scripts/confluence_api.py get-children --page-id 12345 --all
Get Attachments
python3 scripts/confluence_api.py get-attachments --page-id 12345
List Spaces
# List all spaces
python3 scripts/confluence_api.py list-spaces
# List only global spaces
python3 scripts/confluence_api.py list-spaces --type global
# List personal spaces
python3 scripts/confluence_api.py list-spaces --type personal
Get Space Details
python3 scripts/confluence_api.py get-space --space-key DEV
Workflow Guidelines
Retrieving Documentation
- Use
list-spacesto find available documentation spaces - Use
list-pagesorsearchto locate specific pages - Use
get-pageto retrieve full content - Use
get-childrento navigate page hierarchies
Knowledge Aggregation
- Use
searchwith CQL to find related content across spaces - Retrieve multiple pages to aggregate information
- Use labels in CQL queries for categorized content
Finding Specific Information
- Start with a broad CQL search:
text ~ 'keyword' - Narrow down by space:
space = KEY AND text ~ 'keyword' - Retrieve full page content for detailed reading
CQL Quick Reference
Common CQL patterns:
| Pattern | Description |
|---|---|
space = KEY |
Content in specific space |
type = page |
Only pages (not blogs, comments) |
title ~ "text" |
Title contains text |
text ~ "query" |
Full-text search |
label = "label" |
Content with specific label |
creator = "user" |
Created by user |
lastmodified > now('-7d') |
Modified in last 7 days |
ancestor = 12345 |
Pages under specific parent |
Combine with AND, OR:
space = DEV AND type = page AND text ~ 'API'
Body Formats
| Format | Description |
|---|---|
storage |
XHTML storage format (default, for programmatic use) |
view |
Rendered HTML (human-readable) |
export_view |
Export-ready HTML |
styled_view |
Styled HTML with CSS |
Error Handling
Common errors:
- Missing environment variables: Ensure
CONFLUENCE_URL,CONFLUENCE_USER, andCONFLUENCE_TOKENare set - Authentication failed: Verify credentials and token permissions
- Page not found: Check page ID or space/title combination
- Permission denied: User lacks access to the content
Additional Reference
For detailed API documentation, see references/api_endpoints.md.
For CQL query reference, see references/cql_reference.md.