- Add docs/wiki/ with 11 wiki pages (Home, Architecture, Database, AI-Providers, PII-Detection, IPC-Commands, CICD-Pipeline, Security-Model, Integrations, Development-Setup, Troubleshooting) - Add wiki-sync step to .woodpecker/test.yml: syncs docs/wiki/*.md to the Gogs wiki git repo on every push to master - Add Wiki Maintenance section to CLAUDE.md: code→wiki file mapping so Claude and contributors know which wiki page to update per change Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
Integrations
Status: All integrations are v0.2 stubs. They are implemented as placeholder commands that return
"not yet available"errors. The authentication framework and command signatures are finalized, but the actual API calls are not yet implemented.
Confluence
Purpose: Publish RCA and post-mortem documents to a Confluence space.
Commands:
test_confluence_connection(base_url, credentials)— Verify credentialspublish_to_confluence(doc_id, space_key, parent_page_id?)— Create/update page
Planned implementation:
- Confluence REST API v2:
POST /wiki/rest/api/content - Auth: Basic auth (email + API token) or OAuth2
- Page format: Convert Markdown → Confluence storage format (XHTML-like)
Configuration (Settings → Integrations → Confluence):
Base URL: https://yourorg.atlassian.net
Email: user@example.com
API Token: (stored in Stronghold)
Space Key: PROJ
ServiceNow
Purpose: Create incident records in ServiceNow from TFTSR issues.
Commands:
test_servicenow_connection(instance_url, credentials)— Verify credentialscreate_servicenow_incident(issue_id, config)— Create incident
Planned implementation:
- ServiceNow Table API:
POST /api/now/table/incident - Auth: Basic auth or OAuth2 bearer token
- Field mapping: TFTSR severity → ServiceNow priority (P1=Critical, P2=High, etc.)
Configuration:
Instance URL: https://yourorg.service-now.com
Username: admin
Password: (stored in Stronghold)
Azure DevOps
Purpose: Create work items (bugs/incidents) in Azure DevOps from TFTSR issues.
Commands:
test_azuredevops_connection(org_url, credentials)— Verify credentialscreate_azuredevops_workitem(issue_id, project, config)— Create work item
Planned implementation:
- Azure DevOps REST API:
POST /{organization}/{project}/_apis/wit/workitems/${type} - Auth: Personal Access Token (PAT) via Basic auth header
- Work item type: Bug or Incident
Configuration:
Organization URL: https://dev.azure.com/yourorg
Personal Access Token: (stored in Stronghold)
Project: MyProject
Work Item Type: Bug
v0.2 Roadmap
Integration implementation order (planned):
- Confluence — Most commonly requested; Markdown-to-Confluence conversion library needed
- Azure DevOps — Clean REST API, straightforward PAT auth
- ServiceNow — More complex field mapping; may require customer-specific configuration
Each integration will also require:
- Audit log entry on every publish action
- PII check on document content before external publish
- Connection test UI in Settings → Integrations
Adding an Integration
- Implement the logic in
src-tauri/src/integrations/{name}.rs - Remove the stub
Err("not yet available")return incommands/integrations.rs - Add the new API endpoint to the Tauri CSP
connect-src - Add Stronghold secret key for the API credentials
- Wire up the Settings UI in
src/pages/Settings/Integrations.tsx - Add audit log call before the external API request