Quick answer: Add the Bugnet SDK to your game, connect your repository under Integrate > GitHub/GitLab with a fine-grained personal access token (Issues: read and write), and switch on Auto-create issues. Every new bug, whether an auto-captured crash or a report a player filed in-game, opens an issue with the description (stack trace and recent logs for crashes), priority and category labels and the Bugnet report number. Repeat crashes stack in Bugnet instead of opening new issues. The free plan includes one repository.

For a lot of indie developers, GitHub Issues is the bug tracker: it is free, it sits next to the code, and closing an issue from a commit message feels great. What it cannot do is hear about bugs. Players will not file issues on your repository, and a crash on someone's laptop never reaches it. This guide wires the two together, so crashes and player reports open issues on their own, with enough context to fix them.

What an auto-created issue looks like

When a new bug arrives in Bugnet and auto-create is on, Bugnet opens an issue in your repository:

Title: NullReferenceException in PlayerInventory.LoadItems

NullReferenceException: Object reference not set to an instance of an object
  at PlayerInventory.LoadItems () [0x00012] in SaveManager.cs:84
  at SaveManager.RestoreState () in SaveManager.cs:221
  …recent log lines…

---
**Priority:** critical
**Category:** crash
**Bugnet Report:** #1247 (project: crashy-quest)

Setting it up on GitHub

1. Add Bugnet to the game

Create a free Bugnet project, copy the API key and add the SDK for your engine (Unity, Unreal, Godot, GameMaker, Construct 3, Pygame or web; see the SDK docs). Crashes and errors are captured from the first run. Bind the in-game report widget to a key or menu button so players can report the bugs that do not crash.

2. Create a fine-grained token

  1. On GitHub, open Settings > Developer settings > Personal access tokens > Fine-grained tokens and choose Generate new token.
  2. Name it something like Bugnet issues and pick an expiration.
  3. Under Repository access, choose Only select repositories and select your game's repository.
  4. Under Repository permissions, set Issues to Read and write. Metadata is read-only and selected automatically.
  5. Generate the token and copy it.

If the repository belongs to an organisation, an owner may need to approve fine-grained token access. A classic token with the repo scope also works, but grants far more than this needs.

3. Connect and switch on auto-create

In Bugnet, open Integrate > GitHub/GitLab, choose GitHub, enter the repository URL (for example https://github.com/your-studio/your-game), paste the token and choose Connect. Then toggle Auto-create issues on.

Setting it up on GitLab

The same flow works with GitLab.com. Create a personal access token under Preferences > Access Tokens with the api scope, choose GitLab in Bugnet, enter your project URL (for example https://gitlab.com/your-studio/your-game), paste the token and connect. Labels and the issue format match GitHub's.

Keeping the issue list readable

The fear with auto-created issues is a repository buried in noise. Three things prevent it:

If you would rather auto-file only high-priority bugs into a planning tool, Bugnet's Linear, ClickUp, Asana, Trello and Notion connections have a priority filter; see sending bug reports to Linear for that pattern.

Closing the loop

The GitHub and GitLab integration opens and links issues; it does not change a bug's status in Bugnet when you close the issue. When the fix ships, resolve the bug in Bugnet. That emails the player who reported it (if they left an address), updates your public known-issues page and roadmap, and puts the fix in your next auto-drafted changelog. Bugnet also tracks crash-free sessions per game version, so you can check the next build really fixed it.

Token hygiene

If the token expires or is revoked, Bugnet cannot create issues for new reports until you update it under Integrate > GitHub/GitLab. Put the token's expiry date in your calendar, or use a dedicated bot account's token so a team member leaving does not break the integration.

Plans

The free plan includes GitHub or GitLab for one repository, along with crash capture, the in-game widget and up to 100 bug reports. Studio ($19 a month) connects a repository on every project, private repositories included, with up to 10,000 reports and 20 team members. More detail is in the GitHub and GitLab docs, and Bugnet vs GitHub Issues covers when GitHub Issues alone is enough.

Frequently asked questions

Can game crashes create GitHub issues automatically?

Yes. With the Bugnet SDK capturing crashes and the GitHub integration's Auto-create issues setting on, every new bug opens an issue in your repository with the stack trace, recent logs, priority and category labels and the Bugnet report number.

What permissions does the GitHub token need?

A fine-grained personal access token limited to your game's repository, with Issues set to read and write. Metadata read-only access is added automatically. A classic token with the repo scope also works but grants more access than needed.

Will the same crash open many GitHub issues?

No. Reports with the same title stack onto the existing Bugnet bug as occurrences, and stacked occurrences do not create new issues.

Does closing the GitHub issue resolve the bug in Bugnet?

No. The integration creates and links issues but does not sync status back. Resolve the bug in Bugnet when the fix ships, which also notifies the player and updates your public pages and changelog.

Does it work with GitLab?

Yes. Connect a GitLab.com project with a personal access token that has the api scope. Issues use the same format and labels as on GitHub.

GitHub is a great place to fix bugs and a terrible place to hear about them. Let the game do the reporting.