37 lines
1.9 KiB
Markdown
37 lines
1.9 KiB
Markdown
# o-Byte QA Tool WordPress Plugin
|
|
|
|
WordPress plugin version of the legacy `qa-tool` app.
|
|
|
|
## Features
|
|
|
|
- Frontend shortcode: `[obyte_qa_tool]`
|
|
- WordPress backend settings for GitLab and DocBee configuration
|
|
- GitLab template loading through a WordPress REST proxy
|
|
- GitLab template writeback through WordPress REST, using only the token saved in the backend
|
|
- Local YAML/JSON template loading
|
|
- Full YAML parsing through `js-yaml` with a small built-in fallback parser
|
|
- Editable QA steps and groups with drag and drop
|
|
- Required-step validation
|
|
- Run save/load as JSON
|
|
- Markdown, CSV, printable PDF, and YAML template export
|
|
- Combined export: DocBee post, WordPress database storage, and protected PDF storage
|
|
- DocBee ticket posting through a server-side REST endpoint with optional ticket-status restoration
|
|
|
|
## Setup
|
|
|
|
1. Copy or keep the `obyte-qa-tool` folder in `wp-content/plugins/`.
|
|
2. Activate **o-Byte QA Tool** in WordPress.
|
|
3. Open **QA Tool > Settings**.
|
|
4. Enter GitLab and DocBee settings. Secrets are stored as WordPress options and are not exposed to frontend JavaScript.
|
|
5. Add `[obyte_qa_tool]` to the page where the QA runner should appear.
|
|
6. Saved exports can be reviewed under **QA Tool > Reports**.
|
|
|
|
## Notes
|
|
|
|
- Access control is expected to be handled by the site/OAuth tag layer before the shortcode is shown.
|
|
- The REST endpoints require a logged-in WordPress session, but no plugin-owned capability setting.
|
|
- GitLab and DocBee credentials are never hardcoded; secrets must be entered and stored through the backend settings.
|
|
- Reports are stored in WordPress-owned custom tables: `wp_obyte_qa_reports` and `wp_obyte_qa_steps` using the active site prefix.
|
|
- Exported PDFs are stored in protected plugin storage when enabled. Backend report links are short-lived one-time links.
|
|
- Client-side PDF generation uses jsPDF/AutoTable CDNs, matching the standalone tool's browser-based export model.
|