Jira Ticket Types Explained: A Practical Guide for Teams
Confused by jira ticket types? Learn how to choose epics, stories, tasks, and bugs for clearer planning and reporting—read now to get started.
Jira can feel simple until your team opens the issue menu and finds a confusing mix of epics, stories, tasks, bugs, and custom options. Choose the wrong type, and your sprint reports become harder to trust.
That confusion creates practical problems. A bug may disappear inside a broad task, a story may become a vague request, and an epic may be used for work that should take one afternoon. Over time, planning, ownership, and reporting all suffer.
But here's the truth: Jira ticket types are easier to manage when each one has a clear purpose. This guide explains what every common type means, when to use it, how the hierarchy works, and how to create consistent rules for your team.
Jira Ticket Types: The Quick Explanation
Jira ticket types are categories that describe the purpose and level of work tracked in Jira. Common types include epics, stories, tasks, bugs, and subtasks.
Each type answers a different planning question. An epic groups a large initiative, a story describes a user outcome, a task captures a piece of work, a bug records a defect, and a subtask divides a larger ticket into manageable actions.
| Ticket type |
Best used for |
| Epic |
A large initiative containing several related pieces of work |
| Story |
A user-facing need or product outcome |
| Task |
A specific piece of work that may not be user-facing |
| Bug |
An error, defect, or unexpected behavior |
| Subtask |
A smaller action belonging to a parent ticket |
| Custom type |
A specialized workflow your team cannot represent clearly with standard types |
Jira may also include additional issue types, depending on your project template and configuration. Your team could see types such as service request, change, incident, risk, or improvement.
Here’s why: the name matters less than the agreement behind it. If everyone uses “Task” differently, the ticket list may look organized while planning remains unpredictable.

How to Choose the Right Jira Ticket Type
- Start with the work’s purpose. Ask whether the ticket represents a product outcome, technical activity, defect, large initiative, or smaller action.
- Check the size of the work. If the request needs several stages or multiple teams, consider an epic. If one person can finish it within a short cycle, a task or story may fit better.
- Identify the customer or user impact. A user-facing improvement usually works well as a story. Internal maintenance may be clearer as a task.
- Separate defects from planned improvements. If the current behavior fails to meet an expected result, use a bug. If you want new behavior, use a story or task.
- Break down only when needed. Create subtasks when a parent ticket needs distinct actions, owners, or progress updates.
- Confirm the workflow. Some teams give bugs a special triage path, while stories may require acceptance review. Choose the type that follows the right process.
- Use a custom type sparingly. Add one only when standard types create repeated confusion or prevent useful reporting.
Let me explain: the best choice usually comes from the expected outcome, not the team that creates the ticket. A developer may create a bug, but the bug is still classified by the problem it represents.
Use an epic for a broad initiative
An epic represents a substantial goal that requires multiple related tickets. It should provide a container for planning, not become a vague label for every important request.
For example, “Launch self-service billing” could be an epic. It might include payment-page changes, account settings, invoice emails, security review, and customer support preparation.
An epic is useful when you need to track progress across several workstreams. It also helps stakeholders see how individual tickets contribute to a larger outcome.
Use a story for a user outcome
A story describes something a user needs or should be able to accomplish. Many teams write stories using a format such as, “As a customer, I want to save a payment method so that checkout takes less time.”
The format is optional. The important part is clarity about the user, the need, and the expected value.
A story should usually include acceptance criteria. These criteria explain what must be true before the team considers the work complete.
Use a task for a defined activity
A task captures work that may not have a direct user-facing outcome. Examples include upgrading a service, reviewing access permissions, preparing a release checklist, or improving test coverage.
A task should still describe a clear result. “Improve infrastructure” is too broad, while “Increase staging service capacity before the release” gives the team a more practical target.
Some teams use tasks for all work, including product changes. That approach can function well when stories do not add useful information, but it may reduce visibility into customer value.
Use a bug for unexpected behavior
A bug records a defect where the product behaves differently from the expected result. A strong bug report explains what happened, what should have happened, and how the team can reproduce the problem.
For example, “Checkout fails when a customer applies a valid discount code” is a bug. “Add discount codes to checkout” is a planned feature and belongs in a story or task.
Severity and priority are separate decisions. A minor visual defect may have high visibility, while a serious technical problem may affect only a small group.
Use a subtask for a smaller piece of parent work
A subtask belongs to a parent ticket and helps divide execution. A story about shipping a mobile notification feature might contain subtasks for design review, API work, mobile implementation, and quality testing.
Subtasks are useful when different people own distinct actions. They can become unnecessary when they merely repeat the parent ticket or create excessive administrative work.
Before creating one, ask whether the action needs its own owner, status, estimate, or progress signal. If the answer is no, keep the detail in the parent ticket.
Use custom types with a clear reason
Custom ticket types can represent work that standard categories cannot describe well. Examples might include compliance review, customer escalation, or security assessment.
However, every additional type increases training needs and reporting complexity. A team with eight categories may spend more time debating labels than improving delivery.
Create a custom type when it needs a different workflow, required information, permission rule, or reporting view. Otherwise, a label, component, or field may be enough.
How the Jira Issue Hierarchy Works
Jira’s hierarchy helps you connect strategic goals with execution details. A common structure moves from epic to story or task, then to subtask.
| Level |
Example |
Planning question |
| Epic |
Launch self-service billing |
What major initiative are we pursuing? |
| Story |
Save a payment method |
What should a customer be able to do? |
| Task |
Configure invoice notifications |
What defined activity must happen? |
| Subtask |
Review email template |
What smaller action completes the parent ticket? |
Jira configurations can vary, especially with advanced planning features and custom hierarchy levels. Your team should verify which relationships are available in its project.
The hierarchy becomes valuable when each level has a distinct job. An epic should not contain dozens of unrelated tasks, and a subtask should not become an independent project.
Epic versus story
An epic answers, “What larger outcome are we pursuing?” A story answers, “What valuable capability should a user receive?”
For example, “Improve account security” is broad enough for an epic. “Let customers enable passkeys” is more suitable as a story within that epic.
If a ticket can be completed without coordinating several related pieces of work, it may not need to be an epic.
Story versus task
The difference depends on whether the work is primarily a user outcome or an internal activity. A redesigned search experience may be a story. Updating a search index may be a task.
These categories can overlap. A technical task may directly support a story, while a story may require several technical tasks.
Choose the label that makes planning and reporting clearer for the people who use those views.
Task versus subtask
A task can stand alone in a backlog. A subtask exists within a parent ticket and should contribute directly to completing it.
“Prepare release notes” could be a task if it is managed independently. It could be a subtask when it belongs to a specific release story.
When a child item begins attracting separate priorities or deadlines, consider whether it should become an independent ticket.
Common Jira Ticket Type Mistakes
Misclassification often begins with good intentions. A team wants to capture work quickly, so someone chooses the first familiar option. The problem appears later in reports, sprint reviews, and backlog discussions.
Calling every request a story
Stories are useful for user outcomes, but they do not describe every kind of work. A server certificate renewal or access audit may be clearer as a task.
When every item becomes a story, reports may overstate product work and hide operational responsibilities.
Using epics as priority labels
An epic should group related work. It should not mean “urgent,” “executive,” or “important.” Those concepts need priority, ownership, or a dedicated field.
For example, “Mobile app” is a poor epic if it contains unrelated maintenance, support work, and feature requests. Separate initiatives provide a clearer view.
Turning every detail into a subtask
Subtasks can improve ownership, but excessive breakdown creates overhead. A five-minute action rarely needs its own workflow history and status changes.
Use a checklist inside the parent ticket when the detail does not need separate tracking.
Recording bugs without reproduction information
A bug type alone does not make a defect actionable. Include the affected area, reproduction steps, expected behavior, actual behavior, environment, and useful evidence.
For example, “Login broken” gives little direction. “Password reset returns a blank page after submitting a valid email in Safari 17” provides a starting point.
Creating custom types without governance
A new type can solve one team’s problem while creating confusion for everyone else. Before adding one, define its purpose, workflow, required fields, owner, and reporting use.
Review custom types after a trial period. If people still use them inconsistently, simplify the system.
A Practical Naming and Workflow Standard
A naming standard helps people understand a ticket before opening it. Use a short title that describes the result, problem, or action.
- For a story, describe the capability: “Allow customers to export monthly invoices.”
- For a task, describe the activity and target: “Upgrade the staging runtime to version 22.”
- For a bug, describe the failure and context: “Invoice export returns a blank result for accounts with two currencies.”
- For an epic, describe the initiative: “Modernize customer billing.”
- For a subtask, describe the action: “Add currency conversion test coverage.”
You can also define a lightweight workflow for each category. A bug might move through triage, confirmed, in progress, ready for testing, and closed. A task may need fewer stages.
The best workflow reflects actual decisions. If nobody uses a status, remove it. If a team repeatedly makes a decision outside Jira, consider whether a status or field would make that decision visible.
Fields that improve ticket quality
Different types need different information. A bug may need reproduction steps and environment details, while a story may need acceptance criteria and user impact.
| Type |
Useful fields |
| Epic |
Outcome, owner, target period, related teams, success measure |
| Story |
User need, acceptance criteria, priority, estimate, dependencies |
| Task |
Action, owner, expected result, deadline, dependency |
| Bug |
Steps to reproduce, expected result, actual result, environment, severity |
| Subtask |
Parent ticket, action, owner, completion condition |
Keep required fields limited to information people genuinely use. A long form can discourage careful ticket creation and encourage vague entries.
Jira Ticket Types Solution: ONES.com

Value Proposition
ONES.com combines project management and knowledge management in one platform. ONES Project provides Jira-compatible workflows, while ONES Wiki supports structured team knowledge and collaboration.
For teams struggling with inconsistent work categories, the platform can connect planning rules, execution, reporting, and shared guidance in one workspace.
Core Capabilities
Scattered work categories → Jira-compatible workflows → clearer execution
If your team tracks epics, stories, tasks, bugs, and subtasks across disconnected processes, ONES Project gives you configurable workflows for common delivery patterns. People can move work through agreed stages without rebuilding the process in separate tools.
Inconsistent planning fields → custom fields and workflows → more reliable ticket context
A story may need acceptance criteria, while a bug needs reproduction details. ONES Project supports custom workflows and fields, so each category can capture information relevant to its purpose.
Unclear sprint commitments → sprint management → tighter planning conversations
When teams carry too much unfinished work into the next cycle, sprint management helps them review scope, ownership, and progress. A team can compare planned work with completed work before making another commitment.
Manual status updates → automation → less repetitive coordination
Routine actions can consume attention without improving delivery. Automation can support transitions, notifications, and other repeatable activities, helping teams keep work moving with fewer manual reminders.
Limited progress visibility → built-in reporting → faster reviews
Built-in reporting gives managers and delivery teams views into progress, workload, cycle performance, and unresolved work. A consistent ticket structure makes those reports more useful.
Plugin-heavy project administration → native capabilities → fewer moving parts
Teams often add plugins to cover workflow, reporting, or planning gaps. ONES Project includes these capabilities natively, which can reduce the number of separate extensions that administrators need to maintain.
Restricted infrastructure requirements → on-premise and private deployment options → greater deployment control
Some organizations cannot place project information in a public cloud environment. ONES.com offers Cloud, On-Premise, Private Cloud, and Air-gapped deployments, with full feature parity between cloud and self-hosted versions.
Separate project and knowledge spaces → ONES Project plus ONES Wiki → connected delivery context
A team may plan a release in one place and keep decisions elsewhere. ONES.com can connect project work with knowledge management, while ONES Project and ONES Wiki remain available as separate products.
Application Scenarios
Software product team: A product group can use epics for major releases, stories for customer capabilities, bugs for defects, and subtasks for design, engineering, and testing actions. Sprint reports then reflect both progress and remaining work.
Enterprise technology team: An internal technology department can use tasks for upgrades, bugs for service defects, and custom types for security reviews. On-premise deployment can support organizations with strict infrastructure requirements.
Restricted-network environment: A team operating in an air-gapped environment can manage work with the same core capabilities available in the cloud experience. This helps preserve familiar planning practices without requiring public connectivity.
Common Challenges with Jira Ticket Types
Challenge: People choose types differently
Solution: Create a short decision guide with examples. Show the difference between “Add two-factor authentication” as a story, “Investigate authentication logs” as a task, and “Two-factor setup crashes on Android” as a bug.
Challenge: The backlog contains too many custom categories
Solution: Review each type’s purpose and reporting value. Merge categories that follow the same workflow, and use labels or components for lightweight distinctions.

Challenge: Epics remain open indefinitely
Solution: Give each epic a measurable outcome, owner, target period, and completion rule. Close it when the initiative reaches its agreed outcome, not merely when one ticket finishes.
Challenge: Bugs compete poorly with planned work
Solution: Add severity, priority, customer impact, and affected area. During triage, compare defects using the same decision criteria as feature work.
Challenge: Subtasks create excessive administration
Solution: Reserve subtasks for work needing separate ownership or progress tracking. Keep small reminders and simple checks inside the parent ticket.
FAQs About Jira Ticket Categories
What is the difference between a Jira issue and a Jira ticket?
In everyday team language, “ticket” and “issue” often mean the same thing: a tracked piece of work in Jira. “Issue” is Jira’s formal terminology, while “ticket” is common in support and delivery conversations. The category still matters because an issue can be an epic, story, task, bug, or subtask.
Should I use a story or a task for technical work?
Use a story when the work describes a user-facing outcome or capability. Use a task when it represents a defined internal activity, such as upgrading a service or improving monitoring. Technical work can support a story through linked tasks or subtasks. Choose the category that makes the result easiest to understand and report.
Can a bug belong to an epic?
Yes. A bug can be associated with an epic when it contributes to that larger initiative. For example, a login defect may belong to an “Account security” epic. The relationship depends on your project configuration. Keep the bug type because it still represents unexpected behavior, even when it supports a broader goal.
When should I create a subtask?
Create a subtask when a parent ticket needs separate ownership, status, estimation, or progress tracking. For example, a story may need subtasks for design, implementation, and testing. Avoid creating subtasks for every small action. If a checklist is enough, keep the detail inside the parent ticket.
How many custom Jira ticket types should a team have?
There is no universal number. Start with standard types and add a custom category only when the team needs a different workflow, required information, permission rule, or report. A small, understandable set is usually easier to maintain. Review custom types regularly and remove categories that people rarely use correctly.
Conclusion
Jira ticket types work best when each category has one clear job. Use epics for broad initiatives, stories for user outcomes, tasks for defined activities, bugs for defects, and subtasks for parent-ticket actions.
But here's the truth: consistent usage matters more than perfect terminology. A short team standard, practical examples, and occasional backlog reviews can prevent most classification problems.
When your work needs configurable workflows, sprint management, reporting, automation, and flexible deployment, ONES.com offers an alternative through ONES Project. The right structure makes planning easier, reporting more credible, and delivery conversations far more useful.