Tickets
Track work items with types, priorities, assignments, comments, file attachments, and more.
Tickets are the building blocks of your projects in Spedy. Every piece of work -- whether it's a bug to fix, a feature to build, or a task to complete -- lives as a ticket on a board. Each ticket gets a unique, human-readable ID based on the board prefix, like CS-42 or ACME-17, so you can easily reference it in conversations.
Ticket Types
Every ticket has a type that describes the kind of work it represents:
| Type | When to use it |
|---|---|
| Bug | Something is broken or behaving unexpectedly |
| Feature | A new capability or improvement to build |
| Epic | A large piece of work that spans multiple tickets |
These are the three built-in ticket types. You can also create custom ticket types for your organization to match your team's workflow -- for example, "Task", "Chore", or "Improvement". Custom types are managed in your organization settings and can be made available on any board.
Priorities
Set a priority on each ticket to help your team know what to focus on first:
| Priority | What it means |
|---|---|
| Critical | Needs immediate attention -- something is severely broken or blocking |
| High | Important -- should be addressed soon |
| Medium | Standard priority (this is the default) |
| Low | Can wait -- address when time allows |
Working with the Status Workflow
Tickets move through your board's columns as work progresses. You can drag a ticket between columns to update its status, or change the status directly from the ticket detail view. Spedy groups statuses into Planning, Blocked, Active, and Final categories so you always have a clear picture of where things stand.
Assigning Tickets
Assign a ticket to a team member to make it clear who's responsible. The assignee will receive a notification and can see all their assigned tickets in one place. You can reassign tickets at any time as priorities shift.
Comments
Use comments to discuss a ticket with your team. You can mention other users with @name to notify them directly. Comments support rich text formatting, so you can include links, code snippets, and more. Comments can be marked as secret (internal-only) using the isSecret flag, making them visible only to your team and hidden from external customer users.
Links stay their own element: URLs are still auto-linked as you type, but text you type right after a link is no longer pulled into it. The same applies to ticket and subtask descriptions.
File Attachments
Attach files to any ticket -- screenshots, documents, designs, or anything else your team needs. Files are securely stored and can be downloaded by anyone who has access to the board.
- SVG and EPS -- vector files are accepted as attachments on tickets, comments, wiki pages and public forms. SVG files get an image preview. EPS files (
.eps) are stored as a download only. Other PostScript extensions such as.psor.aiare still refused. - Pasting several images -- paste several images into a description or comment at once, and Spedy inserts all of them, in the order you copied them.
You can also import Spedy Selection Packages (.spsx) when creating a ticket to pre-fill the form with structured selections, screenshots, and comments. See SPSX Import for details.
Labels
Labels let you tag tickets with custom categories that make sense for your project. Create labels like "Frontend", "Urgent", or "Design Review" at the board level, and apply as many as you need to each ticket. Labels make it easy to filter and find related tickets.
Linking Tickets
Connect related tickets to show how work items depend on each other:
| Link type | What it means |
|---|---|
| Blocks | This ticket must be completed before another can proceed |
| Is blocked by | This ticket cannot proceed until another is completed |
| Relates to | These tickets are related but don't block each other |
| Duplicates | This ticket is a duplicate of another one |
There are four link types in total. When you create a "Blocks" link, the inverse "Is blocked by" link is automatically created on the other ticket.
Each linked ticket shows its status as text next to a colored dot (for example "In Progress" rather than just a dot), so you can tell states apart at a glance. The linked title uses the full width of the row and is only shortened when there's no room left. Read-only subtickets use the same status badge, so links and subtickets read consistently.
Due Dates
Set a due date on any ticket to track deadlines. Tickets with upcoming due dates are highlighted in the dashboard and pulse view so you can stay ahead of deadlines. Due dates can be set and changed from the ticket detail view.
Target Environment
Each ticket has an optional Target environment field where you record where the ticket's change is headed -- for example production, staging, or a specific release name. It's free text, so use whatever names your team already uses.
To set it, open a ticket, go to Properties, and type a value into the Target environment row.
When a pull request linked to the ticket is merged, Spedy includes the target environment in the status suggestion. Instead of "Pull Request #42 was merged. Should the ticket be set to Done?", you'll see "Pull Request #42 was merged -- target environment production. Should the ticket be set to Done?". This way you can confirm where the code went before accepting the status change.
The target environment only enriches the suggestion -- it never changes a ticket's status automatically. The environment-aware message builds on the status suggestions (Pulse); if suggestions are turned off, the field still works as a plain informational property.
The Ticket Card on the Board
Every ticket appears as a card in the board view, the list view, and the Issues Hub. A few things on the card help you stay oriented without clicking:
- Last activity -- a subtle line below the title shows who did something last, for example "Comment by Anna Düsing · 2 hrs ago". It covers comments, status changes, assignments, ticket creation, as well as commits and pull-request activity. So you can tell straight from the board where things are moving.
- Type and size class -- the card shows the ticket type, for customers too. On a project under a started capacity contract, the size class sits at the top right of the card and the hour estimate is hidden.
- Full title on hover -- long titles are truncated on the card. Hover over one and a tooltip shows the full title. The tooltip only appears when the title is actually cut off.
The Ticket Detail View
Click on any ticket to open its full detail view. From here you can see and edit everything: the title and description, type, priority, status, assignee, due date, labels, linked tickets, comments, and attachments. You'll also find a complete activity history showing every change made to the ticket.
The layout:
- Above the title sits a badge row with status, priority, type, labels and epic. Status, assignee, priority, type and due date are editable right there: click a badge to change it. A back arrow in the breadcrumb takes you back to the project.
- Description has its own card.
- On the right you find the Time card for this ticket (start or stop the timer, booked time against the estimate) and the properties: assignee, priority, type, due date and customer, each editable in place, plus Linked tickets.
- The tabs below start with Comments and Properties. Attachments, code and custom fields stay reachable there.
Who can edit which badge depends on permissions, not on the role -- the same rules apply to customers:
| Badge | Permission |
|---|---|
| Status | tickets:change-status |
| Assignee | tickets:assign |
| Priority, type, due date | tickets:edit |
If a customer's permission group grants these, the customer can change the values too; otherwise the badge is read-only.
Subtasks (labelled Subtickets in the app) are listed in the same row style as linked tickets. Add subticket creates one right in the list; assigning and deleting work there too.
Quick view on the board
Clicking a card on the board opens the ticket in the quick view next to the board. Its top row is a set of editable chips: status, assignee, priority, type and due date. Click a chip to change the value. Below it, a slim time row shows the booked time and the timer. Pressing Escape inside a chip editor only closes the editor, not the panel.
While the quick view is open, every Kanban column keeps its width. The column row scrolls sideways, and the card you opened is scrolled into view.
Subtasks
Break large tickets down into smaller, manageable pieces using subtasks. Any ticket can have child tickets that track individual steps of the work. Subtasks appear directly in the parent ticket's detail view, and each subtask has its own status, assignee, and priority. If you complete or move the parent ticket while subtasks are still open, Spedy will warn you so nothing gets lost.
The subtask description uses the same rich text editor as regular tickets. You can insert images via drag-and-drop, copy-paste, or the upload button directly into the description -- they are automatically uploaded as attachments and replaced with permanent URLs.
Filtering subtasks
When a ticket has many subtasks, you can narrow the list using two filters that appear above it: Status and Assignee. Pick a value and the list shows only the matching subtasks.
The filters stay out of your way -- a filter only appears when there is something to filter. If every subtask shares the same status, the status filter is hidden. If any subtask has no assignee, an Unassigned option is added automatically.
While a filter is active, Spedy shows a count like "3 of 8 shown" and a Clear filters link. The subtask progress indicator stays computed over all subtasks, regardless of the active filter -- so you always see the overall progress, not just the filtered subset. If your selected value disappears (for example, the last subtask in that status is removed), the filter resets to "All" automatically.
Opening a subtask in split view
On the full ticket detail page and on wide screens (roughly 1024 pixels or more), clicking a subtask opens it in a resizable panel next to the parent ticket, instead of navigating away. This keeps the parent in view while you work through its subtasks -- and you can drag the divider to resize the panel.
To open a subtask in a new tab instead, use Cmd/Ctrl-click or the middle mouse button. On narrower screens and in the board's side panel, clicking a subtask navigates to it as before.
Epics and Stories
Epics group related tickets that all belong to the same larger initiative. Unlike subtasks, stories under an Epic are still first-class tickets -- they keep their own status, assignee, and priority, and can move across your board independently, while the Epic shows the bigger picture.
Attaching a ticket to an Epic
Any ticket can be attached to an Epic on the same board:
- Open the ticket you want to group.
- In the ticket properties, open the Epic field.
- Search by title or ticket ID and pick the Epic.
You can reassign a ticket to a different Epic or clear the field to remove it from any Epic. Only tickets of type Epic on the same board can be selected -- a ticket cannot be its own Epic.
Managing stories from the Epic
When you open an Epic, a Tickets in this Epic panel lists every story attached to it. From there you can:
- Jump to any story with one click
- Add more tickets to the Epic via the Add ticket search
- Remove a ticket from the Epic without deleting it
Filtering by Epic
In the Issues Hub and on board pages, you can filter the list to show only tickets belonging to one or several Epics. This is useful to quickly review the progress of a large initiative across boards.
Favorite Tickets
Star tickets you want quick access to. Click the star icon in the ticket toolbar (next to the Watch button) to mark a ticket as a favorite. The star turns amber/gold and the ticket appears in the sidebar below Issues.
Your favorites list in the sidebar shows the ticket ID, title, and a red dot when there's new activity since your last visit -- for example a status change or a new comment. Opening the ticket clears the dot. The sidebar shows your 5 most recent favorites initially; scroll to reveal more, or use the search field that appears when you have more than 5.
Favorites are personal -- only you see your own. They are automatically cleared when you switch organizations. You can have up to 200 ticket favorites. To remove a favorite, hover the sidebar entry and click the unstar icon, or click the star in the ticket toolbar again.
Watching Tickets
Want to stay in the loop on a ticket without being the assignee? Watch it. You'll automatically receive notifications whenever there's activity. Ticket creators and anyone who comments are added as watchers by default.
Time Tracking on Tickets
If time tracking is enabled for your workspace, you can log time directly on any ticket. Start a timer while you work and stop it when you're done, or add manual time entries after the fact. Time logged on a ticket is visible in the ticket detail view and contributes to board-level time reports. See Time Tracking for more details.
Budget and Fixed Price
A ticket can carry an hour budget agreed with the customer and be marked as fixed price. Both fields live in the ticket's Properties and are hidden from customers -- like the other billing-relevant fields.
Setting a budget
- Open the ticket and switch to Properties
- Enter the agreed hours under Budget -- e.g.
8h,90mor1d 4h - Leave it empty to fall back to the estimate
With no budget set, the estimated time is used automatically. You don't have to maintain the same number twice.
Which value is in effect
Estimated and Budget sit right below one another -- which of the two actually counts is now printed underneath, instead of being something you have to know:
- Under Estimated: "Internal effort estimate. Counts as the budget as long as none is set below."
- Under Budget, a line naming the value currently in effect:
| Situation | What it says |
|---|---|
| Budget set | "The budget counts: 3h. Progress bar and fixed-price capping both use it." |
| Estimate only | "No separate budget -- the estimate counts: 2h." |
| Both empty | "Neither budget nor estimate -- progress bar and fixed-price capping stay inactive." |
The same rule -- budget, else estimate -- applies everywhere: to the time budget progress bar on the ticket, to fixed-price capping, and to the ticket rows in Time & Budget. A ticket with a budget but no estimate therefore shows a bar with a proper reference instead of no bar at all.
Only roles allowed to see the budget field see these hints. Nothing changes for customer accounts.
Turning on fixed price
The Fixed price toggle below it makes every hour beyond the budget automatically non-billable -- in MOCO too, if connected.
When time exceeds the budget, you see right below the toggle how much was capped. The full rules -- what happens to the entry on the budget boundary, which entries are left alone, and what happens when you raise the budget -- are documented under Time Tracking → Fixed-price billing.
Creating several tickets at once
Need to create a whole list? The Issues hub does it in one pass: Issues → Multiple tickets, one line per title, shared fields below. See Issues Hub.