Skip to content

[FEATURE] Add first-class support for MantisBT Integration #196

@therealbrad

Description

@therealbrad

Feature Summary

Add MantisBT (Mantis Bug Tracker) as a supported issue tracker integration, alongside existing integrations for Jira, GitHub, Azure DevOps, and others. Users should be able to link test cases/runs to MantisBT issues and create/view issues directly from TestPlanIt.

Problem Statement

TestPlanIt integrates with several popular issue trackers, but MantisBT — a widely-used open-source bug tracker common in self-hosted and enterprise environments — is not currently supported. Teams running MantisBT have no first-class way to connect their test runs to their defect workflow.

Current Situation

Teams using MantisBT must manually copy issue IDs and URLs between TestPlanIt and Mantis, with no automatic linking, status sync, or issue creation from failed test results. This creates duplicate work, broken traceability between test failures and defects, and friction that discourages thorough defect tracking.

Desired Outcome

Users can configure a MantisBT integration at the project or org level and then:

  • Create new Mantis issues directly from a failed test case or exploratory session
  • Link existing Mantis issues to test cases, test runs, and step results
  • See linked Mantis issue metadata (status, severity, assignee) inline in TestPlanIt
  • Have the integration behave consistently with Jira/GitHub/Azure DevOps integrations already in the product

Proposed Solution

Implement a MantisBT integration client following the same pattern used by existing issue tracker integrations in lib/integrations/. Authentication via MantisBT API token (and optionally basic auth for older instances) against the MantisBT REST API. Expose configuration through the existing admin integrations UI, and surface MantisBT as an option anywhere users currently pick an issue tracker (issue linking dialogs, create-issue actions, test result issue fields).

User Story

As a QA engineer using MantisBT as our bug tracker, I want to link and create MantisBT issues from TestPlanIt so that failed tests are automatically traceable to defects without manual copy/paste.

Acceptance Criteria

  • MantisBT appears as a configurable integration in admin settings alongside Jira, GitHub, Azure DevOps
  • Users can authenticate via MantisBT API token and specify instance URL
  • Connection test validates credentials and returns accessible projects
  • Users can create a new MantisBT issue from a failed test case / test run / step result
  • Users can link existing MantisBT issues by ID or URL
  • Linked issues show live metadata (summary, status, severity, assignee, priority)
  • Clicking a linked issue opens it in MantisBT
  • Issues linked in TestPlanIt appear in relevant reports and dashboards
  • Integration respects project/org scoping consistent with other integrations
  • Documentation added covering setup, required Mantis permissions, and troubleshooting

Design Mockups

N/A — should visually match existing Jira/GitHub/Azure DevOps integration UI patterns.

Alternative Solutions

Option 1

Generic webhook-based integration where users configure an outgoing webhook to push issue data to any tracker, including MantisBT. Lower implementation cost but inferior UX: no inline metadata, no status sync, no deep linking.

Option 2

User-contributed plugin/extension system that lets the community add trackers like MantisBT without core changes. Higher architectural lift up front but amortizes cost for future trackers (Redmine, YouTrack, Bugzilla, etc.).

Technical Considerations

MantisBT exposes a REST API (/api/rest/) introduced in Mantis 2.x. The integration should follow the pattern established in lib/integrations/ for Jira/GitHub/Azure DevOps: a typed client, credential storage via the existing integration secrets model, and adapter code that maps Mantis issue fields to TestPlanIt's internal issue representation.

Dependencies

  • Requires database schema changes (new integration type enum value / config shape)
  • Requires API changes (new routes for Mantis-specific operations: list projects, list categories, create issue)
  • Requires UI/UX design review (integration config form, issue-create dialog fields)
  • Requires third-party integration (MantisBT REST API)
  • Other:

Performance Impact

Minimal. Calls to MantisBT are on-demand (user action or metadata refresh on issue view). Metadata fetching should be cached/debounced consistent with other tracker integrations to avoid hammering the Mantis API on list views.

Security Considerations

  • API tokens must be stored encrypted at rest using the existing integration secrets mechanism
  • Respect multi-tenant isolation so one org cannot access another org's Mantis credentials
  • Validate Mantis instance URLs to prevent SSRF (deny internal/private IP ranges unless explicitly allowed)
  • Sanitize any HTML/markup returned from Mantis before rendering in the TestPlanIt UI
  • Support self-signed certs for on-prem Mantis instances via an opt-in flag, not by default

Business Value

MantisBT has a large installed base in regulated, enterprise, and cost-sensitive self-hosted environments — exactly the audience most likely to adopt a self-hostable open-source test management tool like TestPlanIt. Supporting it removes a blocker for those teams and strengthens TestPlanIt's positioning as the integration-agnostic choice.

Priority

  • Critical - Core functionality gap
  • High - Significant improvement
  • Medium - Nice to have
  • Low - Future consideration

Affected User Groups

  • Test Managers
  • QA Engineers
  • Developers
  • Project Managers
  • Stakeholders
  • All users

Expected Usage

  • Daily
  • Weekly
  • Monthly
  • Occasionally

Implementation Effort

  • Small (1-2 days)
  • Medium (3-5 days)
  • Large (1-2 weeks)
  • Extra Large (>2 weeks)

Additional Context

MantisBT is particularly common in:

  • Government, defense, and regulated industries that prefer self-hosted open-source
  • Long-running enterprise projects that adopted Mantis before Jira's dominance
  • Cost-sensitive teams avoiding Atlassian licensing
    Adding Mantis support signals that TestPlanIt is serious about meeting teams where they are rather than assuming Jira.

Examples from Other Tools

  • TestRail offers a MantisBT defect plugin for bidirectional linking
  • Xray / Zephyr support Mantis via their generic issue-tracker adapters
  • qTest has historical Mantis connector support
  • Redmine itself exposes Mantis-style integrations as a reference model

Checklist

  • I have searched for similar feature requests
  • I have provided a clear problem statement
  • I have described at least one solution
  • I have considered alternatives
  • This feature aligns with TestPlanIt's goals

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions