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.
微信扫一扫