Files
Guillaume BOURGEOIS 54b077bfc9 feat(confluence): new Confluence runbook/knowledge integration
Confluence REST API, 6 commands: CQL search, get page, create/update page,
list spaces. Basic (email + API token) auth, stdlib-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 15:23:56 +02:00

87 lines
3.1 KiB
YAML

id: confluence
name: Confluence
version: 1.0.0
description: "Atlassian Confluence (REST API) — runbook and knowledge handling: search content (CQL), read a page, create and update pages, and list spaces. Basic (email + API token) authentication; stdlib-only, no extra Python dependencies."
changelog: "1.0.0 — Initial release: search content, get page, create/update page, list spaces."
category: productivity
# Per-instance configuration. HTTP Basic auth with an email + API token (Cloud)
# or username + password (Server/DC).
config_schema:
properties:
base_url:
type: string
description: "Confluence base URL (e.g. https://your.atlassian.net/wiki)"
email:
type: string
description: "Account email (Cloud) or username (Server)"
api_token:
type: string
description: "API token (Cloud) or password (Server)"
x-soar-sensitive: true
required:
- base_url
- email
- api_token
commands:
- id: search
name: confluence-search
description: "Search content using CQL."
risk: read
inputs_schema:
properties:
cql: { type: string, description: "CQL query (e.g. text ~ \"phishing runbook\")" }
limit: { type: number, description: "Max results (default 25)" }
required: [cql]
outputs_schema: { properties: {} }
- id: get_page
name: confluence-get-page
description: "Get a page by ID (with body)."
risk: read
inputs_schema:
properties:
page_id: { type: string, description: "Page (content) ID" }
required: [page_id]
outputs_schema: { properties: {} }
- id: create_page
name: confluence-create-page
description: "Create a page in a space."
inputs_schema:
properties:
space_key: { type: string, description: "Space key" }
title: { type: string, description: "Page title" }
body: { type: string, description: "Page body (storage/HTML format)" }
parent_id: { type: string, description: "Optional parent page ID" }
required: [space_key, title, body]
outputs_schema: { properties: {} }
- id: update_page
name: confluence-update-page
description: "Update a page's title/body (increments the version)."
inputs_schema:
properties:
page_id: { type: string, description: "Page ID" }
title: { type: string, description: "New title" }
body: { type: string, description: "New body (storage/HTML)" }
version: { type: number, description: "New version number (current version + 1)" }
required: [page_id, title, body, version]
outputs_schema: { properties: {} }
- id: list_spaces
name: confluence-list-spaces
description: "List spaces."
risk: read
inputs_schema:
properties:
limit: { type: number, description: "Max spaces (default 25)" }
required: []
outputs_schema: { properties: {} }
- id: test_connection
name: confluence-test-connection
description: "Verify connectivity and credentials (used by the Test button)."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }