GitHub Issues

Feedback from your site arrives in your repository as a formatted issue, labelled and assigned, seconds after a visitor presses send.

The credential

A fine-grained personal access token scoped to a single repository, with the repository permission Issues set to Read and write. Nothing else.

That token cannot read your source, cannot push, and cannot reach any other repository. A classic token with repo scope also works, but it grants far more than BugLoop needs and we do not recommend it.

The token is encrypted with AES-256-GCM before it reaches the database, and the column holding it is not readable through the data API by any client role.

Configuration

Repository owner, repository name, and — optionally — labels and assignees to apply to every issue. Then use Test connection: BugLoop performs a real authenticated read of the repository and reports what it found, so you know the credential works before a visitor depends on it. It also warns you if Issues are disabled on the repository.

What the issue looks like

markdown
[Bug] Checkout button does nothing on Safari

Clicking Pay on the cart page has no effect. No error, no spinner,
nothing in the console.

## Steps to reproduce
1. Add any item to the cart
2. Go to /cart
3. Click Pay

## Additional details
- **Area of the site:** Checkout
- **Is this blocking you?:** true

## Context
- **Page:** https://acme.com/cart
- **Page title:** Your cart
- **Viewport:** 1440x900
- **Browser:** Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) …
- **Reported:** 2026-08-15T09:41:02.517Z
- **Type:** bug
- **Reporter:** sam@acme.com (wants an update when fixed)

_Filed by BugLoop from Acme storefront · feedback 0f2c…_

Exactly one issue, always

GitHub’s issue creation endpoint has no idempotency key, so BugLoop enforces it locally. Each feedback-and-destination pair gets a deterministic key with a unique database index behind it. Concurrent workers race for the insert, one wins, the rest stand down. A retry after a network timeout cannot produce a second issue.

When GitHub is unavailable

The visitor still sees their confirmation and the report is still stored — a delivery failure is never their problem. The delivery is recorded as failed with the reason, the error surfaces on your integration settings page, and you can retry it from the report itself once the cause is fixed.

Reference

Endpoint: POST /repos/{owner}/{repo}/issues, sent with Accept: application/vnd.github+json and a pinned X-GitHub-Api-Version. Documented at docs.github.com/en/rest/issues/issues.

Frequently asked

Can we file into a private repository?
Yes. Access is determined by the token; repository visibility is irrelevant.
Can different projects use different repositories?
Yes. Integrations are configured per project, so each site can have its own repository, labels, and assignees.
What happens if the assignee has no push access?
GitHub silently drops assignees who cannot be assigned. The issue is still created — it just arrives unassigned.
Can we use a GitHub App instead of a PAT?
An installation access token works, since it is presented the same way. A first-class GitHub App install flow is not built yet.