enhancement(integrations): add MantisBT issue tracker integration#438
Merged
Conversation
Add a first-class MantisBT integration alongside the existing trackers: - REST adapter (/api/rest, API-token auth) mapping MantisBT categories to issue types, tags to labels, notes to comments, and relationships to linked issues, with view.php issue URLs - Inbound webhook adapter (URL-token) for issue created/updated events - Admin and project integration UI, provider icon, and issue-link surfaces - Documentation and translations across all locales Also corrects external-issue hover cards that rendered the Jira-only layout for non-Jira providers. Each linked-issue surface now derives the provider from the issue's own integration relation rather than a hardcoded "JIRA" fallback or the project's active integration, and the affected queries load that relation.
Stub all four always-on SSE streams (notifications, test-run live-update,
project test-runs live-update, issues) so waitForLoadState("networkidle")
resolves reliably on pages that open them. Previously only the notification
bell stream was stubbed; the other three caused networkidle to hang for up
to 30s, starving the 8-worker pool and triggering secondary timing failures
across unrelated tests.
Additional test-specific fixes:
- Webhook tabs: wait for webhooks-tab-inbound (data-loaded signal) before
clicking outbound, rather than relying on networkidle which can resolve
between the auth query and the project data query
- Report runReport helpers: wait for table/no-results element (30s) instead
of networkidle, which resolves before Elasticsearch responds
- Share incognito pages: apply stubLiveStreams + increase table timeout
- Breadcrumbs: fix parent selector button→link (BreadcrumbComponent renders
clickable items as <Link>, not <button>)
- Admin workflows dialog: 10s→30s close timeout
- SSO toggle: 10s→20s Force SSO Login visibility timeout
- Drag-drop: 10_000→20_000 target folder visibility timeout
- Copy-move dialog: 15_000→30_000 folder option visibility timeout
Contributor
Author
|
🎉 This PR is included in version 0.38.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds MantisBT as a first-class issue-tracker integration. Includes a REST adapter (API-token auth), inbound webhook adapter (URL-token), admin and project UI, provider icon, i18n across all 15 locales, and documentation.
Also fixes a bug where linked issues on non-Jira integrations rendered the Jira-specific hover card ("Open in Jira") — each surface now reads the provider from the issue's own relation rather than the project's active integration or a hardcoded fallback.
Includes an E2E suite stabilization commit that stubs all always-on SSE streams so
waitForLoadState("networkidle")resolves reliably, and fixes several test timing and selector issues.Related Issue
Closes #196
Type of Change
How Has This Been Tested?
Test Configuration:
Checklist
Screenshots (if applicable)
Additional Notes
MantisBT has no built-in webhooks — inbound sync requires a third-party webhook plugin. Setup steps are included in the webhook config UI.
The IssuesDisplay routing fix (incorrect Jira-path fallback for non-Jira providers) is a correctness fix bundled here since it was discovered during MantisBT UAT.