JIRA Issue Types

JIRA uses different issue types to classify the nature of work. Each issue type serves a distinct purpose. Choosing the correct type helps teams organize their backlog, measure velocity accurately, and generate meaningful reports. Using the wrong type — like logging every piece of work as a Task — creates confusion and makes reporting less accurate.

The Standard JIRA Issue Type Hierarchy

JIRA issue types follow a parent-child hierarchy. An Epic contains Stories, Tasks, and Bugs. Stories and Tasks contain Sub-tasks. This hierarchy connects all levels of work from a high-level business goal down to a single day's work.

Issue Type Hierarchy — Visual Structure
LevelIssue TypeScopeExample
Level 1 (Largest)EpicLarge feature or business goal spanning multiple sprintsUser Authentication Module
Level 2StoryUser-facing feature that fits within one sprintAs a user, I want to log in using my email and password
Level 2TaskA technical or non-development activitySet up staging environment for authentication API
Level 2BugA defect or unexpected behavior in existing functionalityLogin button not responding on Android 13
Level 3 (Smallest)Sub-taskA specific step within a Story, Task, or BugDesign login screen wireframe

Epic

An Epic represents a large body of work that the team cannot complete in a single sprint. It acts as an umbrella that groups related Stories, Tasks, and Bugs together under one business goal. Epics appear in the Roadmap view and span across multiple sprints on the backlog.

When to Create an Epic

  • A feature is too large to complete in one 2-week sprint
  • Multiple stories share a common business objective
  • Stakeholders need a high-level view of progress on a major initiative

Epic Example

Epic Breakdown — E-Commerce Checkout Feature
EpicChild IssueType
Checkout FlowBuild shopping cart screenStory
Add payment method selectionStory
Integrate payment gateway APITask
Fix double-charge bug on retryBug

Epic-Specific Fields

FieldPurpose
Epic NameShort label used on the board and roadmap (different from Summary)
Epic ColorVisual color tag to identify the Epic on the board at a glance
Start DateWhen work on the Epic is expected to begin
Due DateTarget completion date for the entire Epic

Story (User Story)

A Story describes a feature from the perspective of the end user. It focuses on what the user wants to do and why, not how the developer builds it. Stories follow a standard writing format called the "3C" format: Card (short title), Conversation (description), and Confirmation (acceptance criteria).

Standard Story Format

As a [type of user], I want to [action], so that [benefit].

Story Examples

Well-Written vs Poorly Written Stories
Poor StoryGood Story
Build login pageAs a registered user, I want to log in with my email and password so that I can access my account dashboard
Fix notificationAs a mobile user, I want to receive push notifications for order updates so that I know when my package is dispatched
Add searchAs a shopper, I want to search products by name so that I find what I need without browsing all categories

Acceptance Criteria

Acceptance criteria define exactly when a story is considered complete. They live in the Description field of the story. Clear acceptance criteria prevent disagreements between developers and QA about what "done" means.

Acceptance Criteria Example — Login Story
#Acceptance Criterion
AC1User enters a valid email and password and clicks Login — system redirects to dashboard
AC2User enters wrong password — system shows "Invalid credentials" message without page reload
AC3User leaves email empty — system shows "Email is required" validation message
AC4Login page loads in under 2 seconds on a 4G connection
AC5Login form meets WCAG 2.1 accessibility standards

Task

A Task represents a piece of work that is not a user-facing feature. Tasks cover technical work, infrastructure changes, research, documentation, or any activity that supports the project but does not directly deliver functionality to the user.

When to Use a Task Instead of a Story

Story vs Task: Choosing the Right Type
SituationCorrect TypeReason
Build a new feature visible to usersStoryDelivers user value — follows user story format
Set up CI/CD pipelineTaskTechnical infrastructure — no direct user benefit
Write API documentationTaskInternal deliverable — not a user-facing feature
Upgrade database versionTaskMaintenance work — users do not see it
Add a product filter for customersStoryCustomer-facing feature — fits "As a user..." format

Bug

A Bug represents an error, defect, or unexpected behavior in existing functionality. Bugs arise when something that previously worked correctly stops working, or when a feature behaves differently from its specification. QA testers, product managers, and end users all report bugs.

How to Write a Good Bug Report in JIRA

Bug Report Fields — Best Practice
FieldWhat to WriteExample
Summary[Where] + [What breaks] + [When]Login button not responding on Android 13 after entering valid credentials
Steps to ReproduceNumbered steps anyone can follow to see the bug1. Open app on Android 13. 2. Enter valid email/password. 3. Tap Login. 4. Nothing happens.
Expected ResultWhat should happenUser redirects to dashboard within 2 seconds
Actual ResultWhat actually happensButton tap registers visually but no navigation occurs
EnvironmentDevice, OS, browser, app versionAndroid 13, Samsung Galaxy S23, App v2.1.3
Severity / PriorityImpact levelHigh — affects all Android 13 users
AttachmentScreenshot or screen recordinglogin-bug-recording.mp4

Sub-task

A Sub-task is the smallest unit in the JIRA hierarchy. It lives inside a parent issue (Story, Task, or Bug) and represents one specific action needed to complete the parent. Sub-tasks are useful when a story requires work from multiple people with different skills.

Sub-task Example

Sub-tasks Inside a Story
ParentSub-taskAssigneeEstimated Hours
MBA-42: Build OTP verification screenCreate UI wireframe for OTP screenAnjali (Designer)4h
Develop front-end OTP input componentRahul (Developer)8h
Connect OTP API and handle responsesVikram (Developer)6h
Test OTP flow on all target devicesDeepak (QA)4h

Additional Issue Types

Some JIRA configurations include additional issue types depending on the team's process.

Additional Issue Types
Issue TypePurposeCommon In
ImprovementEnhancement to existing functionality (not a bug)Software teams
New FeatureBrand new functionality not previously availableSoftware teams
SpikeResearch or investigation task with a time-boxed limitAgile teams
Change RequestFormal request to change an existing specificationService Management
IncidentUnplanned interruption to service that needs resolutionIT operations teams
ProblemRoot cause of one or more incidentsIT operations teams
Service RequestA formal request for service from a customer or employeeService Management

Customizing Issue Types

JIRA Administrators can add, rename, or remove issue types at the global or project level. Custom issue types are useful when the default types do not match the team's terminology or process. For example, a legal team might create an issue type called "Contract Review" instead of using "Task."

Choosing the Right Issue Type — Quick Reference

Issue Type Decision Guide
QuestionAnswerUse This Type
Is it a large initiative spanning many sprints?YesEpic
Does it deliver direct value to an end user?YesStory
Is it technical work with no direct user impact?YesTask
Is something broken that used to work?YesBug
Is it a small piece of a larger issue?YesSub-task
Is it research or investigation work?YesSpike (or Task)

Summary

JIRA issue types create a clear structure for different kinds of work. Epics group large goals. Stories capture user-facing features. Tasks cover technical and non-feature work. Bugs document defects. Sub-tasks break down complex work into assignable steps. Using the correct issue type for each piece of work keeps the backlog clean, reporting accurate, and sprint planning straightforward. Understanding workflows — how issues move from one status to the next — is the next key concept to master.

Leave a Comment