Integrations
Integrations push BugPort bugs into the issue tracker your engineers already live in. When a report lands in BugPort — from the widget, the browser extension, the API, or MCP — you triage it, then create a real issue in GitHub or GitLab from the bug's detail view. The generated issue carries the bug's context and a link back to BugPort, and that external issue link is shown on the bug so both sides stay connected.
In progress Connectors are being built. The flow and data model described below are real, but the providers are not generally available yet. This page is honest about what's done and what remains.
Why integrations exist
BugPort is where bugs are reported and triaged; your issue tracker is where engineering work is planned and tracked. Rather than asking people to re-type a bug into Jira-style tickets by hand, integrations let you create a tracker issue from a BugPort bug in one action, preserving the captured context and keeping a durable two-way link. The goal is to remove the manual copy-paste step between "a user reported this" and "an engineer is working on it."
The connector approach
BugPort uses its own connector abstraction. It does not embed a third-party automation engine — there is no general-purpose workflow runner under the hood. Each provider is a first-class, BugPort-owned client, which keeps the surface small, the security model explicit, and the issue body exactly what BugPort wants it to be.
The data model backing this already exists:
base_url so self-hosted instances can be addressed.The connector endpoints also exist today: GET /v1/connectors, the OAuth start/callback pair, a test endpoint to verify a connection, and POST /v1/bugs/{bug_id}/export to create the issue. See the API overview.
Supported targets
The active targets are GitHub and GitLab. Others appear only as future registry entries.
A GitHub App is the preferred connection: fine-grained, revocable, per-repo installation tokens rather than a broad personal token. You install the app on the repos you want BugPort to write issues into.
Connect via OAuth (or a personal access token) and map BugPort projects to GitLab projects.
Same flow as GitLab.com, plus a configurable instance base URL so BugPort talks to your own GitLab deployment.
How the flow works
- Connect a provider
In the Integrations area, connect GitHub (via the GitHub App) or GitLab (via OAuth/PAT). For self-hosted GitLab, set the instance base URL. The connection is verified with the
testendpoint before it's usable. - Map a BugPort project to a repo or project
Create a project-to-repo mapping so BugPort knows where issues from that project should be filed. A project maps to a specific GitHub repository or GitLab project.
- Create an issue from a bug
Open a bug's detail view and choose Create issue from bug. BugPort exports the bug to the mapped repository and creates a real tracker issue.
- Follow the link back to BugPort
The generated issue body includes a link back to BugPort, so anyone in the tracker can jump to the full captured context. In return, the external issue link is shown on the BugPort bug — the two records reference each other.
Integration flow
What the generated issue includes
The issue BugPort creates is meant to be actionable on its own while still pointing back for the full record. It should carry:
- A clear title derived from the bug.
- The reporter's feedback text and the bug's status/severity.
- Key page context (the path or URL where the issue occurred) to help reproduction.
- References to captured media and debug context (screenshots, logs, network) that live in BugPort.
- A prominent link back to the BugPort bug for the complete, interactive context.
Heavy media and debug payloads stay in BugPort (backed by Cloudflare R2); the issue links to them rather than duplicating large binaries into the tracker.
What's done vs remaining
Being precise so you can plan around it.
Already in place
- Connector data model:
connector_accounts(withbase_url),connector_project_mappings,external_issues. Done - Connector endpoints:
GET /v1/connectors, OAuthstart/callback,test, andPOST /v1/bugs/{bug_id}/export. Done
Remaining work
- Provider issue-create clients (the GitHub/GitLab calls that actually file the issue). In progress
- Encrypted token storage for connector credentials. In progress
- Status and comment sync-back from the tracker to the bug. Planned
- Disconnect / revoke a connected provider. Planned
- The Integrations dashboard page to manage connections and mappings. In progress
Do not treat GitHub or GitLab issue creation as a shipped feature. The data model and endpoints are scaffolded, but the provider clients, encrypted credential storage, and the Integrations dashboard page are still being built. This page describes the intended flow, not a feature you can rely on in production today.