Projects
Each game you manage in Bugnet is represented as a project. Projects are the top-level organizational unit that contains all your bugs, team members, labels, templates, and settings.
Every project has the following properties:
- Name — The display name of your game (e.g. "Starfield Explorers")
- Slug — A URL-friendly identifier used in all API URLs (e.g.
starfield-explorers) - Description — A short summary of what the game is about
- Website URL — A link to the game's website or store page
- Logo — An image that represents the project in the dashboard
Create new projects from the dashboard by clicking New Project. The maximum number of projects you can create depends on your plan.
The project slug is used in all API routes. For example, to list bugs for a project with the slug my-game, you would call:
GET /api/projects/my-game/bugsProject Settings
Each project has a settings page where you can configure:
- API configuration — View and regenerate your API key
- Public tracker — Enable or disable the public-facing bug tracker page
- Notification defaults — Set default notification preferences for new team members
Team & Roles
Add team members to your project to collaborate on bug triage and resolution. Every team member can view bugs, leave comments, and be assigned to fix issues.
Roles
Bugnet uses three roles with increasing levels of access:
| Role | Access |
|---|---|
| Owner | Full access to everything. Can delete the project, manage billing, and transfer ownership. |
| Admin | Can manage team members, project settings, and all bugs. Cannot delete the project or manage billing. |
| Member | Can view and manage bugs, add comments, and be assigned to issues. |
All team members can see all bugs in the project and can be assigned to fix them.
Team Size Limits
The maximum team size depends on your plan:
- Free Up to 3 team members
- Studio Up to 15 team members
- AAA Unlimited team members
Invitations
Invite new team members by email address. Invited users receive an email containing a link to join your project.
- Invitations remain in a pending state until accepted by the recipient
- Owners and admins can revoke pending invitations at any time
- If the invited user does not have a Bugnet account, they will be prompted to sign up before joining
- Each invitation is tied to a specific role — the invitee receives that role when they accept
Invite via API
POST /api/projects/:slug/team/invite
{
"email": "developer@example.com",
"role": "member"
}Permissions
Bugnet provides a fine-grained permission system with 20+ individual permissions. Default permissions are assigned based on role (owner, admin, member), but you can override permissions on a per-user basis for more precise access control.
Key Permissions
| Permission | Description |
|---|---|
manage_team |
Invite, remove, and change roles of team members |
manage_settings |
Edit project settings and configuration |
manage_labels |
Create, edit, and delete labels |
delete_bugs |
Permanently delete bug reports |
manage_webhooks |
Create and configure webhook integrations |
view_analytics |
Access crash analytics and dashboard metrics |
manage_billing |
View and manage subscription and payment details |
Per-User Overrides
You can customize access for individual team members by overriding their role-based defaults. For example, you might grant a member manage_labels without promoting them to admin.
To restore an individual's permissions to their role defaults, use the Reset to defaults option on their profile in the team settings page.
Labels
Labels let you organize and tag bugs with custom categories. Each label has a name and a color, making it easy to visually identify groups of bugs at a glance.
- Add or remove labels from any bug in the bug detail view
- Filter bugs by label in the bug list to narrow down your view
- Labels are per-project — each project maintains its own set of labels
Common Label Strategies
Labels are flexible and can be used for many purposes. Here are some common patterns:
- Platform —
iOS,Android,Windows,Mac,Linux - Feature area —
combat,inventory,UI,audio,networking - Sprint / Milestone —
v1.2,sprint-14,launch-blocker
Labels via API
# Create a label
POST /api/projects/:slug/labels
{"name": "iOS", "color": "#5856D6"}
# List all labels
GET /api/projects/:slug/labels
# Add a label to a bug
POST /api/projects/:slug/bugs/:id/labels
{"label_id": "uuid-of-label"}Bug Templates
Bug templates let you create reusable formats for common types of bug reports. When a team member files a bug from the dashboard, they can select a template to pre-fill the form with a standardized structure.
Each template can pre-fill the following fields:
- Title prefix — Automatically prepend a prefix to the bug title (e.g. "[Crash]" or "[UI]")
- Description format — A structured description with sections like "Steps to Reproduce", "Expected Behavior", "Actual Behavior"
- Category — Pre-select a bug category
- Priority — Pre-set the priority level
Templates are per-project, so each game can have its own set of templates tailored to its QA workflow.
Tip: Create templates for your most common bug types to standardize reports and reduce triage time. For example, a "Crash Report" template with pre-filled priority of "critical" ensures crashes are always flagged appropriately.
Custom Fields
Extend your bug reports with custom data fields specific to your game. Custom fields let you capture structured information beyond the default bug report fields.
Field Types
| Type | Description | Example |
|---|---|---|
| Text | Free-form text input | Character name, map location |
| Number | Numeric value | Player level, score, frame rate |
| Dropdown | Select from predefined options | Game mode (PvP, PvE, Co-op) |
Configuration
- Fields can be marked as required so reporters must fill them in
- Field ordering is configurable — drag and drop to arrange them in your preferred order
- Custom field values are set per-bug and displayed in the bug detail view
Custom Fields via API
# Create a custom field
POST /api/projects/:slug/custom-fields
{
"name": "Player Level",
"type": "number",
"required": true
}
# Create a dropdown field
POST /api/projects/:slug/custom-fields
{
"name": "Game Mode",
"type": "dropdown",
"options": ["PvP", "PvE", "Co-op"],
"required": false
}Saved Filters
Save frequently used filter combinations so you can quickly recall them from the bug list. Instead of manually re-entering the same filters every time, save them once and apply them with a single click.
Filter Criteria
Saved filters can include any combination of:
- Status — Open, in progress, resolved, closed
- Priority — Critical, high, medium, low
- Category — Bug, crash, performance, UI, etc.
- Assignee — Filter by assigned team member
- Labels — Filter by one or more labels
- Date range — Bugs created or updated within a time window
Scope
Filters can be scoped globally (available across all your projects) or to a specific project. Saved filters are shared across your team, so everyone can use the same filter definitions.
Access saved filters from the quick-access panel in the bug list sidebar.
Saved Views
Saved views let you create custom dashboard layouts with specific filter, sort, and column settings. Each view remembers exactly how you want to see your bug list.
- Pin views for quick access from your dashboard navigation
- Configure sort order (e.g. by priority, date created, last updated)
- Choose which columns are visible in the bug list table
- Position-ordered — drag and drop to reorder your views
Saved views are per-user — each team member can customize their own set of views without affecting other team members.
SLA Rules
Service Level Agreement (SLA) rules let you set response and resolution time targets based on bug priority. When a bug is filed, Bugnet automatically calculates due dates based on your SLA configuration.
Configuration
Set response and resolution hours for each priority level:
| Priority | Response Time | Resolution Time |
|---|---|---|
| Critical | 1 hour | 4 hours |
| High | 4 hours | 24 hours |
| Medium | 8 hours | 72 hours |
| Low | 24 hours | 168 hours |
These are example values — configure the hours that match your team's capacity and commitments.
How It Works
- When a bug is filed, Bugnet calculates the response and resolution due dates based on the bug's priority and your SLA rules
- Due dates are visible on the bug detail page and in the bug list
- Track SLA compliance in the dashboard to monitor how well your team is meeting targets
SLA rules help ensure your team responds to critical bugs within your committed timeframes. Use SLA tracking to identify bottlenecks and adjust staffing or processes before deadlines are missed.
Audit Log
The audit log provides a complete record of all project-level changes. Every significant action is logged with details about who made the change, what changed, and when it happened.
Tracked Events
- Settings changes — Project name, description, API key regeneration, public tracker toggle
- Team changes — Member added, member removed, role changed
- Label changes — Label created, updated, or deleted
- Webhook changes — Webhook added, updated, or removed
Log Entry Details
Each audit log entry includes:
- Actor — The team member who performed the action
- Action — What was done (created, updated, deleted)
- Target — What was affected (settings, team member, label, webhook)
- Timestamp — When the action occurred
The audit log is essential for security reviews and compliance. Access it from Settings → Audit Log in your project dashboard.
Import / Export
Import
Bulk import bugs from other platforms to migrate your existing issue tracking data into Bugnet. Supported sources include:
- GitHub Issues
- GitLab Issues
- Jira
- Trello
- CSV file
- Other (generic format)
Imported bugs retain their original external IDs and URLs for reference, so you can always trace a bug back to its source. Import progress is tracked in real-time on the import status page.
Export
Export your bugs to CSV for reporting, backup, or migration purposes. Exports can be filtered to include only the data you need:
- Filter by status (open, resolved, closed)
- Filter by priority (critical, high, medium, low)
- Filter by category
- Filter by date range
Exported CSV files include all standard bug fields as well as any custom field values you have defined.
GDPR compliance: Use the account data export feature to generate a full export of your data for GDPR data portability requests. This is available from your account settings.