Where Should the Report Go — Email, Webhooks, Jira, or Your Own Backend
Comparing four delivery paths for Unity bug reports — capacity, auth complexity, searchability, and maintenance cost.
- unity
- bug-report
- qa
Once you've picked a trigger and wired up collection, the next question is delivery. As noted in part 1, this choice affects your QA team's actual day-to-day more directly than any other. Here are the four paths, in order: email, webhooks, direct Jira integration, and your own backend.
Email (SMTP) — easiest, and that's about it
A few lines of an SMTP client and you're done. No server, no auth flow. But three walls show up fast: attachment size limits (most SMTP servers cap out around 10–25MB), reports silently vanishing into spam filters, and no way to track whether a given bug is still open or already closed. It's fine for a prototype or "let's just get something in" at the very start. Take a team with one or two QA people just starting to test a prototype: a handful of reports a day means none of these three walls is felt yet. The problem is that all three show up at once, right as the team and the report count grow together.
Webhooks (Slack/Discord) — best immediacy, no history
Reports land directly in a channel your team is already watching. Setup is one webhook URL, so auth complexity is effectively zero. Of all four, this is the fastest a developer will notice a report the instant QA files it.
The catch comes after that. The channel scrollback is your entire report history, so checking whether a similar bug showed up last week means relying on someone's memory. There's no status tracking (open/resolved), and since every message stands alone, recurrences of the same bug don't get grouped automatically. This weakness is invisible while the team is small and shows up abruptly once report volume grows. On a team where three or four developers all sit in the same Slack channel, the speed of that reaction the instant a report lands is worth more than anything else. But once a few weeks of reports pile up in that same channel, you'll eventually need to scroll back hundreds of lines to find one specific bug again.
Direct Jira integration — plugs straight into the tracker, at a cost
Reports exist as issues from the moment they're filed, so search, status, and assignment all come for free from the tracker. Of the four, this is the strongest option for anything that happens after the report lands.
The price is entry cost. You have to build the OAuth flow yourself, token refresh and expiry included, and separately map the fields your game collects — device info, game state, screenshots — onto Jira custom fields. Change your Jira project structure and the mapping has to follow. That upfront build cost can be a real burden for a small team. And it's not a one-time cost, either. Miss the token-refresh logic and reports quietly stop arriving one day — the failure is silent, so it's common for nobody to notice for a while.
Your own backend — maximum control, maximum upkeep
You design the schema, the search behavior, even the dashboard UI, all to spec. If you need to handle large attachments like video files, or export the same report to multiple issue trackers at once, this is effectively the only path that works.
But storage, auth, dashboards, backups — all of it is now yours to run. The bigger variable isn't the initial integration cost, it's the maintenance bill a few months in. Every new login, every new platform, is a new thing your team has to touch. Adding one more login method or one more supported platform is a config change on the other three paths; here it means touching storage, auth, and the dashboard all at once.
Comparing the four
| Path | Capacity | Auth complexity | Searchability | Maintenance |
|---|---|---|---|---|
| Low (attachment caps) | Near none | Low | Low | |
| Webhook | Medium | Near none | Low | Low |
| Jira integration | Medium | High (OAuth) | High | Medium |
| Own backend | Unlimited, by design | You design it | Best, by design | High |
The practical verdict
Most teams start with a webhook and move to an issue tracker once report volume grows. Don't try to pick the perfect path on day one — ask which is more urgent right now for your team's size: notification speed, or history management. Running webhooks and a Jira integration side by side is also a common middle ground — instant alerts through the webhook, formal issues going to Jira after triage.
Summary
Email costs nothing to set up and gives you no history. Webhooks give you immediacy and no search. A Jira integration gets you the tracker's full feature set in exchange for the auth build. Your own backend buys control at the price of upkeep. None of the four is the right answer on its own — the choice comes down to which your team feels the lack of more right now, speed or history. What to collect and send is covered in the game-state snapshot post, and the full picture including trigger and capture is in part 1.
Our own Rekon removes this choice altogether — the web dashboard already holds search and history, and issues go straight to Jira from there. If you want searchability and history without building your own backend, it's worth a look.