Skip to content

feat(adapters): XWiki + Redmine adapters and Click CLI - #6

Merged
gerfru merged 1 commit into
mainfrom
feat/adapters-cli
Jul 4, 2026
Merged

feat(adapters): XWiki + Redmine adapters and Click CLI#6
gerfru merged 1 commit into
mainfrom
feat/adapters-cli

Conversation

@gerfru

@gerfru gerfru commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • XWiki adapter (adapters/selfhosted/xwiki.py): idempotent page upsert via REST PUT into space QMS; auth via XWIKI_PASSWORD env var
  • Redmine adapter (adapters/selfhosted/redmine.py): creates QMS project + seeds one scaffold issue per record type tracker; auth via REDMINE_API_KEY env var; custom field definitions require one-time manual setup (documented in docs/redmine-setup.md)
  • CLI (cli/main.py): qms-kit deploy --target selfhosted|atlassian|m365 --config <overlay> [--dry-run]; renders all templates and calls the matching adapter; Phase 2/3 targets raise a clear "not yet implemented" error

Test plan

  • qms-kit deploy --target selfhosted --config config/selfhosted.yaml --dry-run — renders templates, prints count, exits without network calls
  • CI passes (lint, security, typecheck, tests)

🤖 Generated with Claude Code

- XWikiAdapter: idempotent page upsert via REST PUT (space QMS)
- RedmineAdapter: project creation + tracker seeding via REST API
  Note: custom field definitions require manual setup (see docs/redmine-setup.md)
- CLI deploy command: --target selfhosted|atlassian|m365, --config, --dry-run
- Dry-run mode renders all templates without writing to target

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gerfru
gerfru merged commit fa8a3db into main Jul 4, 2026
6 checks passed
@gerfru
gerfru deleted the feat/adapters-cli branch July 4, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant