Setup
-
Env vars (see
.env.example): REDMINE_URL,
REDMINE_API_KEY, REDMINE_PROJECT_ID,
REDMINE_TRACKER_BUG_ID,
REDMINE_TRACKER_SECURITY_ID (optional, falls back to
bug), REDMINE_ASSIGNEE_ID (optional default owner).
-
Uses the Redmine REST API with the API key for authentication.
-
Ensure the API key is scoped to the project and can create issues.
Automatic tickets on failures
-
scripts/run-test-suite.sh now files a Redmine issue
whenever any check fails. Security-related failures (npm audit,
Trivy, ZAP) use the security tracker when configured.
-
Issues are de-duplicated by fingerprinting the suite/target +
failure details; reruns of the same failing state will re-use the
open ticket instead of creating a duplicate.
-
Manual wrapper for other test commands:
./scripts/run-tests-with-redmine.sh npm test (set
TEST_NAME or TRACKER to override labels).
CLI tools
-
List open tickets grouped by tracker:
REDMINE_URL=... REDMINE_API_KEY=... REDMINE_PROJECT_ID=...
./scripts/redmine-report.js list-open
-
Manual issue creation from a log file:
./scripts/redmine-report.js create-test-issue --suite my-tests
--failures-file /path/to/log --tracker bug
-
Outputs go to stdout; non-zero exit code on API errors so CI can
fail fast.
Notes
-
Tickets include a short fingerprint in the subject and description;
keep it when editing so future runs keep de-duplicating.
-
Summary/log paths are included in the issue body to help locate
artifacts from the run.