Issue Lifecycle Report

Last updated: December 12, 2025

Introduction: What does Issue Lifecycle show and why is it important?

The Issue Lifecycle feature provides visibility into how issues move through your development workflow, measuring the time spent in each stage from creation to completion. This helps you identify bottlenecks, optimize processes, and improve delivery predictability.

Key insights you'll gain:

  • How long issues spend in To Do, In Progress, and Done states

  • Which workflow stages are creating bottlenecks

  • Team throughput and completion rates

  • Trends in delivery efficiency over time

Why it matters: Understanding your issue lifecycle enables data-driven decisions about resource allocation, process improvements, and capacity planning. By tracking time in each stage, you can identify where work gets stuck and take action to accelerate delivery.


How to Set Up Issue Lifecycle

Prerequisites

  • An active integration with Jira or Linear

  • Issues with status transition history in your project management tool

Configuration Steps

  1. Navigate to Organization Settings → Issue Lifecycle Stages

  2. Configure Custom Stages (optional but recommended)

    • Map your tool's statuses to custom stages for more granular tracking

    • Organize stages under three normalized categories:

      • To Do (e.g., Backlog, Ready for Development, Blocked)

      • In Progress (e.g., In Development, Code Review, Testing)

      • Done (e.g., Merged, Deployed)

  3. Map Your Statuses

    • Assign each status from your project management tool to a custom stage

    • Maximum of 10 stages per status category

    • The UI will show mapping statistics and warn about unmapped statuses

  4. Save Configuration

    • Changes may take a few hours to reflect in reports

    • Historical data is maintained and continuously updated

Example Configuration:

To Do
  └── Backlog → Status: "New", "Open"
  └── Ready for Development → Status: "Ready", "Prioritized"

In Progress
  └── Development → Status: "In Progress", "Working"
  └── Code Review → Status: "Review", "PR Open"
  └── Testing → Status: "QA", "Testing"

Done
  └── Completed → Status: "Done", "Closed", "Merged"


Metrics Explained

Core Time-Based Metrics

Time in To Do

  • What it measures: Total time an issue spent in To Do status

  • Calculation: Sums all durations when issue was in any "To Do" status

  • Aggregations: P50, P75, P90, Max, Average

  • Display format: Hours and minutes (e.g., "2h 30m")

Time in In Progress

  • What it measures: Total time an issue spent actively being worked on

  • Calculation: Sums all durations when issue was in any "In Progress" status

  • Aggregations: P50, P75, P90, Max, Average

Issue Lifecycle (Composite Metric)

  • What it measures: Complete lifecycle from assignment to completion

  • Calculation: Time in To Do + Time in In Progress

  • Why it matters: Shows total active work time (lower is better)

Time in Stage

  • What it measures: Time spent in a specific custom stage you configured

  • Calculation: Sums time across all statuses mapped to that stage

  • Use case: Identify which specific stages (e.g., "Code Review") are bottlenecks

How Time is Calculated

The platform tracks every status transition in your issue's history:

  1. Capture transitions: Records timestamp when an issue moves from one status to another

  2. Calculate durations: Computes time between consecutive status changes

  3. Aggregate by category: Sums durations for all statuses in each normalized category (To Do/In Progress/Done)

  4. Weekend exclusion: Optionally excludes weekends based on org settings

Example:

Issue #123 Timeline:
- Created: Monday 9am → Status: "Backlog" (To Do)
- Monday 2pm → Status: "In Progress" (5 hours in To Do)
- Tuesday 4pm → Status: "Code Review" (26 hours in In Progress)
- Wednesday 10am → Status: "Done" (18 hours in In Progress)

Results:
- Time in To Do: 5 hours
- Time in In Progress: 44 hours (26 + 18)
- Issue Lifecycle: 49 hours

Volume & Throughput Metrics

Total Issues by Lifecycle Stage

  • Count of issues currently in each stage

  • Helps identify work-in-progress (WIP) accumulation

Done Issues Per Active Coding Day

  • Throughput metric showing delivery rate

  • Normalized by active coding days (excludes weekends/holidays)

Percentage Done Issues

  • Completion rate: % of issues marked as Done

Percentage Linked PR Issues

  • % of issues connected to pull requests

  • Indicates integration between issue tracking and code delivery


Data Sources

Integrations

Issue lifecycle data comes from your integrated project management tools:

  • Jira (most common)

  • Linear

What Data is Captured

  • Status transition history with timestamps

  • Current issue status

  • Issue metadata (type, assignee, estimate points, priority)

  • Raw status names from your platform

Data Processing

  • Status normalization: Your tool's statuses are mapped to three canonical categories (To Do, In Progress, Done)

  • No AI inference: Calculations are deterministic based on actual status transition history

  • Continuous updates: Data refreshes regularly as new transitions occur

  • Historical accuracy: All transitions tracked, including re-opens and reversions


FAQ

Q: How long does it take for configuration changes to appear in reports? A: Configuration updates typically take a few hours to process. You'll see a warning banner while the update is in progress.

Q: What happens if I have unmapped statuses? A: Issues in unmapped statuses won't be included in stage-specific calculations, which may result in incomplete metrics. The UI will warn you about unmapped statuses.

Q: Are weekends included in time calculations? A: This depends on your organization settings. You can configure weekend exclusion to only count business days.

Q: Can I track custom stages unique to my workflow? A: Yes! You can configure up to 10 custom stages per normalized status category (To Do, In Progress, Done) to match your specific workflow.

Q: What if an issue moves backward (e.g., In Progress → To Do)? A: All transitions are tracked, including backward moves. Time is accurately calculated for each status, even if an issue revisits a previous state.

Q: How are percentiles (P50, P75, P90) useful? A: Percentiles show the distribution of durations. For example, P75 = 5 hours means 75% of issues spent 5 hours or less in that stage. This helps identify outliers and typical behavior.

Q: Can I filter lifecycle metrics by team, person, or issue type? A: Yes! Issue lifecycle metrics support filtering and grouping by team, assignee, issue type, priority, and other dimensions.

Q: How does Issue Lifecycle relate to PR cycle time? A: Issue Lifecycle tracks work from the project management perspective (issue statuses), while PR cycle time tracks code delivery (PR creation to merge). Together, they provide end-to-end visibility.

Q: What's the difference between "Total Issues by Stage" and "Historical" version? A: "Total Issues" counts issues currently in a stage (snapshot), while "Historical" counts all distinct issues that have ever passed through that stage (cumulative).