Bug Report Plugin
Lets users file a bug or feedback from the chat header. Each submission is created as a Redmine issue and stored locally so admins can review recent reports.
Not enabled in the shipped default config. Needs a reachable Redmine instance and API key — see Plugins in Production.
Configuration
plugins:
- module: codumentor.plugins.bug_report
class: BugReportPlugin
args:
backend:
type: redmine
url: "https://redmine.example.com"
api_key: "${REDMINE_API_KEY}"
project_id: "codumentor"
tracker_id: 1
status_id: 1
parent_issue_id: 37210
custom_fields:
- id: 33
source: user.display_name
- name: "Reporter Email"
source: user.email
- id: 40
value: "Codumentor"
backend is required. Only type: redmine is supported.
| Parameter | Type | Default | Description |
|---|---|---|---|
backend.type | str | redmine | Issue tracker. Only "redmine" is implemented. |
backend.url | str | — | Redmine base URL. |
backend.api_key | str | — | Redmine API key. Supports ${ENV_VAR} expansion. |
backend.project_id | str | — | Redmine project identifier. |
backend.tracker_id | int | 1 | Tracker used for both bug and feedback issues. |
backend.status_id | int | unset | Initial issue status. Omitted if not set. |
backend.parent_issue_id | int | unset | Parent issue (subtask). Omitted if not set. |
backend.custom_fields | list | [] | Extra Redmine custom fields on every issue. |
Each custom_fields entry needs an identifier (id or name) and exactly one of:
value— sent as-issource— a path into the submission context (below). If that path is missing, the field is omitted.
source paths:
| Path | Value |
|---|---|
user.id | Authenticated user id, or "anonymous" |
user.display_name | Display name (empty when anonymous) |
user.email | Email from the form |
report.type | "bug" or "feedback" |
report.summary | Summary from the form |
conversation.id | Conversation id, if included |
Usage
Users: Header menu → Report a Problem. Choose Bug or Feedback, enter a summary (required, max 200 characters), optional details (max 5000), email (required), and whether to include the conversation id and browser environment (URL, user agent, screen). On success the dialog shows the Redmine issue id and a link.
Admins: The Bug Reports card on the admin page lists the last five submissions and has a Test connection button against Redmine. Requires admin:*.
Notes
- File attachments are not offered in the form (Redmine upload is not wired up).
- Local copies live in
bug_reports.sqlite3under the instance data directory (CODUMENTOR_DATA_DIR, or./data). - This is separate from User Feedback (per-turn like/dislike) and from the Redmine plugin (agent tools against a user's Redmine).