Jira's timeline draws dependencies but not the critical path, so this tutorial shows the critical path on a Jira Gantt chart: the Timeline view of LeanZero Management puts the work that sets the finish in its own lane on a 1,992-row plan. On the plan I used, that lane holds 28 work items. Those 28 can't slip at all. The tightest of the other dated items has 2 working days, and 1,694 items carry no dates, so the app gives them no figure.
I couldn't find a way to get that picture from Jira by itself. The request for it, JRACLOUD-88163, has been open since January 2021 and had 98 votes when I read it on 12 October 2026. An older one about blockers on the critical path, JRACLOUD-88103, dates from 2014 and has 90. In a 2024 Community thread somebody asked "Is there a native tool in Jira that can show the critical path?" and the accepted answer, from another community member, was "No, there is no native tool in Jira to show a critical path."
We make LeanZero Management, a free Gantt and planning app for Jira Cloud, so I'm not neutral here (other Marketplace apps have a critical path view too, and I name two near the end). There's a 76-second video of this view, recorded on version 5.13.0. I ran the same six steps again on 12 October on 6.4.0. The counts and the toolbar labels are the same.
https://www.youtube.com/watch?v=hJGFjQTM7lA
[!NOTE]
Prerequisites
- A Jira Cloud site with LeanZero Management installed. It's free on the Marketplace. I ran this on 6.4.0, released 11 October 2026.
- One plan in the app, with dates on at least some of its work and some Jira "blocks" links between work items. The chain follows those links.
- Access to that plan. I ran this as the plan's owner. The six steps save nothing to the plan, so view access should be enough, but I didn't test a view-only account.
- A desktop browser. My window was 1,675 by 1,250 px.
- Optional, for the two command-line checks: curl and jq.
[[steps]]
- Open the Timeline tab — it starts on the lens labelled "The real plan", grouped by epic and quarter, at Fit zoom.
- Zoom to today — click Month and then Today, and read the markers row for your milestones.
- Click Sets the finish — the row list becomes the critical path, in chain order, with its own lane.
- Click one bar — a card shows its dates, its room and what it waits on.
- Click Needs attention — rows grouped by reason, worst first.
- Click Everything, then ⋯ and Show all connectors — the flat list with its dependency lines.
Check the version and find your plan before you start
The app's header has a version chip next to "What's new". Mine read 6.4.0. To see which version the Marketplace serves today, ask its REST API. It should print three lines:
curl -s https://marketplace.atlassian.com/rest/2/addons/com.leanzero.jira.leanzeromanagement/versions/latest | jq -r '.name, .release.date, .paymentModel'
6.4.0
2026-10-11
free
Open LeanZero Management from Jira's Apps menu. It lands on a page called Plans, with a search box ("Find a plan or project key") and a New plan button. If you have no plan yet, New plan runs a wizard with five pages (Name, Sources, Schedule, Targets, Review), and a source can be a JQL query, a board or a project. I didn't run the wizard for this article, and the manual on the product page covers it.
Click your plan's row and you're ready for step 1.
Two words the app uses that you may know under other names. Room is what a scheduling textbook calls total float or slack: the number of working days a work item can slip before the plan's finish moves. A lens is one of the three buttons at the left of the Timeline toolbar, and each one decides which rows you see.
Step 1: Open the timeline and group by epic and quarter
Open your plan and click the Timeline tab. It opens on the first lens, labelled "The real plan", with the group control reading Epic › quarter and the zoom on Fit.
The demo plan is called VOY Mobile Release Plan. It has 1,978 open work items and only 14% of them carry usable dates. As a flat list it's 1,992 rows (the list also draws done items, and I didn't reconcile the 14 one by one). My screen showed about 23 rows at a time.
The default view is 40 rows. The group rows are 2 epics that hold work (of 342), 8 quarters of dated work that sits outside an epic (290 work items), and one row at the bottom called Undated backlog. The rest of the 40 are 24 work items inside the two open groups, 3 section headings and 2 "+ N more" lines.
That bottom row is where the other 1,694 went. It reads "1,694 work items · 340 are epics with no stories yet · 432 labelled carried-over", and the band beside it says "No dates — not in the forecast. Give them dates, or move them out of this plan." Going by the code, a click opens it to the first 50 with a "+ N more" line under them. I left it folded.
Two groups were open when I arrived, Q2 2027 and Q4 2027. Groups start folded, except the one holding the first open item on the chain and any group holding a blocked item. Q2 2027 has the blocked one (VOY-20) and Q4 2027 has the first chain item (VOY-306). Q2 2027 shows its 12 tightest rows and then "+ 36 more · Show all".
How do you read a row? State, room, finish. Hover any word in the legend line to get its rule. At risk, for example, reads "Open, with 5 working days of room or fewer before it moves the finish (a plan setting)."
What if a work item is both blocked and late? It gets one colour, and the order is fixed, first match wins: Done, then Blocked, then Late, then No dates, then At risk, and On track is what's left. Blocked uses the same red as Late with a pause mark added. Blocked itself comes from Jira, either the status or what the plan read in the comments.
A group row takes the worst state of the open items inside it and the tightest room. So "Q2 2027 · Blocked · 2 wd" doesn't mean the blocked item has 2 wd. The group holds one blocked item, and its tightest open item has 2.
I misread the bar labels at first, and you probably will too. Many bars say something like "Jira says Apr 14, 2027; the chain moves it to May 4, 2027", including bars with 16 wd of room. "The chain" in that label is the item's own dependency links, which pushed it later than the date Jira holds. It doesn't mean the item is on the critical path. The rows on the critical path are the ones reading 0 wd.
Those moved bars carry two small marks. The legend's tooltip for them reads: "The schedule places it away from Jira's date. Teal end-cap on the bar; hollow diamond = Jira's own date." On these bars the diamond is where Jira thinks the item ends and the bar is where the plan put it. (When only the start moved, the code puts the diamond on Jira's start. I didn't see one of those on this plan.) I think that's the most useful mark on the chart, because the distance between the two is how far the plan and Jira disagree about that item.
You should see: a line at the top of the grid like "Plan · 1,978 open work items · 14% dated", and a row count you can read without much scrolling.
Step 2: Zoom the timeline to today and the milestones
Fit squeezes the whole plan into the frame, which on VOY is almost two years. To see this quarter, click Month, then Today.
The zoom buttons are Fit, Week, Month, Quarter and Year (there's a Day zoom too, in the ⋯ menu). Today scrolls the chart so today's line sits near the left edge.
Now read the two rows pinned under the dates. The first is the markers row. On VOY it carried four markers:
- Today · Oct 12, 2026
- App Store Submission · Dec 22, 2026
- v3.0 General Release · Jan 16, 2027
- Forecast finish · Jul 21, 2028 · 395 wd after v3.0 General Release
The middle two are the plan's commitments, which most people would call milestones. The last one is the app's forecast. So the demo plan's dated work ends 395 working days after its own commitment (ouch).
The second pinned row is "Open work in flight / week · peak 10, week of Dec 27, 2027 · volume, not load: nobody is assigned". It's a small histogram of how many open work items overlap each week. Nobody on this plan has an assignee, so it can't tell you who is overbooked, and it says so.
You should see: the red Today line, and your own commitments as black diamonds with their dates. On my window the scale ran Sep 2026 to Feb 2027, and the Forecast finish marker was off the right edge because it's 21 months away. Click Fit to bring it back.
Step 3: See the critical path in Jira with Sets the finish
Click Sets the finish 28. The number on the button is how many work items have 0 working days of room. Its tooltip reads "Sets the finish (critical path): 0 working days of room. On: only the chain, in chain order."
The page changes in these ways at once:
- The row list is replaced by the chain alone, in chain order, so the grouped view is gone until you turn the button off. On VOY that's 28 rows and no group headers.
- A lane appears under the in-flight row: "The chain that sets the finish · 28 items · Nov 3, 2027 → Jul 21, 2028".
- The connectors between chain items are drawn.
All 28 rows read At risk · 0 wd. This is the screenshot at the top of the article.
Click Fit while it's on. You should see: the lane's last block touching the dashed Forecast finish line.
How is room worked out? One pass over the plan, on the plan's working calendar. The plan's finish is the latest due date of any work item. For each item that depends on yours, take the gap to it in working days plus that item's own room. The smallest of those is your item's room. An item nothing depends on gets the working days from its due date to the plan's finish.
So an item with 16 wd of room can be three weeks late and the plan still finishes on the same day. The items after it may move. The finish doesn't.
This is measured from dates, and it used to be different. Until 19 September the app ran a textbook duration-weighted pass, which answers "what is the longest run of work". On a plan where dates are already set, the longest run often isn't the run that finishes last. On one of our test plans the old zero-slack chain ended on 30 June while the plan finished on 12 October. A comment in the source still records it.
What do you do with a 0 wd row once you can see it? Open its card (step 4). For a chain item the card's room line, as written in the code, is "0 working days of room. Every working day it slips moves the finish" with the date, "one day later." Then it's the usual choices: start it earlier, cut it, or remove a link that shouldn't be there. Moving dates in the plan and writing them back to Jira is a separate tutorial, and the scheduling behind it is in the Jira dependency that moves dates.
Click Sets the finish again to turn it off. You're back on the 40 rows.
Step 4: Click a bar on the Gantt chart for its dates, room and what it waits on
Click Month again (step 3 left you on Fit) and scroll right until you find the bar you want. A bar under a week long is easier to hit when it's wider. I used VOY-20 in the Q2 2027 group, whose bar is in April 2027. On your plan pick any bar (a blocked one is red with a pause mark).
Click the bar. A card opens at the bottom right. For VOY-20 it read:
- VOY-20, with a Blocked chip, "Design review: Apple Watch companion app v2 UI"
- "Apr 21, 2027 → Apr 26, 2027 · Jira holds Apr 14, 2027 → Apr 19, 2027 · baseline Apr 26, 2027: unchanged"
- "16 wd of room before it moves the finish."
- Waits on: VOY-19 (In Build, ends Apr 20, 2027) and VOY-198 (Backlog, ends Apr 13, 2027)
- A "Why this date" link, and buttons Open in Jira, Dates… and Plan vs Jira…
VOY-20 is blocked and has 16 wd of room. I'd read that number before escalating anything.
Dates… and Plan vs Jira… open editors that change the plan, so leave those alone if you only came to read.
You should see: the row outlined, the other bars greyed, and the card. Press Escape to close it.
For an item with a successor on the chain, the code adds a "Next on the chain" line to the card. I only opened VOY-20's card, which has none, so I haven't seen that line live.
Step 5: Filter to the work that needs attention
Click Needs attention 16. The group control turns into a greyed "Group: Reason" and the grid head reads "Needs attention · by reason, worst first".
On VOY I got five groups, in this order:
| Reason | Count | The one-line why |
|---|---|---|
| Blocked | 1 | Waiting on something outside its own work. |
| Done, but dated in the future | 12 | A finished item should carry the dates it really happened. |
| Dependency loops the schedule ignores | 2 | These links schedule nothing until one direction is removed in Jira. |
| Next to run out of room | 1 | 2 working days before it joins the chain. |
| Dates the plan moved away from Jira's | 151 | Information: Apply writes them; until then Jira shows its own. |
1 + 12 + 2 + 1 is 16, the number on the button. The 151 is listed as information and isn't counted, which I think is right. A plan that disagrees with Jira on 151 dates is good to know about, but nobody has to decide anything about it this morning.
"Next to run out of room" is one work item, VOY-30, with 2 wd. It isn't on the chain yet, and it will be after two bad days.
The chain's lane stays visible in this lens even though the Sets the finish button isn't pressed. The code draws the lane in both cases.
The code knows ten reasons and shows only the ones with a count. The first and third in its order ("Blocked, and on the chain that sets the finish" and "Past its finish date, still open") were empty on this plan. If either shows up on yours, start there.
You should see: a short list with a reason above each group. On my window the whole lens fitted without scrolling.
Step 6: Show all dependencies on the Jira timeline
Click Everything. The group control reads "No grouping" and you get the flat list, 1,992 rows on VOY. The same control can group the flat list by Status, Type, Priority, Assignee or Epic (there's an AI structure option too, which I didn't try).
Now click ⋯ at the right of the toolbar and tick Show all connectors.
On my screen the drawn connector paths went from 3 to 192, for only the 44 rows the browser had mounted. So the option is off by default, and connectors normally appear for the selected bar and for the chain. (A note in the source calls the earlier always-on version "spaghetti", with a count: 157 curves on 27 rows.)
Jira's timeline does draw dependencies natively, with limits. Atlassian's page on it says: "The timeline can only show work items with the Blocks work item link type and link work items from a single space." It also has a size cap. The troubleshooting page says: "The timeline view of Jira can only show 5,000 work items at once with no more than 500 being at the parent level." VOY has 342 epics against that 500.
The Baseline button on the same toolbar reads "Baseline 0 moved" and it's already on when the plan opens: grey bars under the bars show where each work item was when the baseline was set. Click it once and the grey bars disappear. Click again and they're back. The number is how many items now finish on a different day than at the baseline.
And a warning about the keyboard. Cmd+K (Ctrl+K on Windows) opens a command palette with 13 commands. Most just switch tabs, but the list also has "Apply changes to Jira", "Re-index plan" and "Plan brief" (which spends an AI run). Enter runs whatever is highlighted and Escape closes it, so read the highlighted line first.
Above 150 rows the chart only mounts the rows in view plus a small buffer. That's how 1,992 rows stay usable, and it has its own write-up: a 5,300-issue Jira Gantt.
You should see: curves all over the chart. To put things back, untick Show all connectors, click the first lens button again, then Fit.
Check that the critical path is real
I checked the lane on VOY like this, and you can run the same checks on your plan.
Add up the counts. In the default view each quarter row says how many of its work items are on the chain. Mine said 6, 10, 9 and 3. That's 28, the number on the button and in the lane. If your sum and your button disagree, something is off.
Then look at the end. At Fit, the last quarter row reads "3 on the chain · sets the finish" and its bar stops at the dashed line.
And if you want to confirm Jira still has no native answer on the day you read this, ask the ticket. You should see four lines:
curl -s 'https://jira.atlassian.com/rest/api/2/issue/JRACLOUD-88163?fields=summary,votes,status,created' | jq -r '.fields | .summary, .status.name, .votes.votes, .created'
Add in Critical Path Analysis(via story links) in JIRA (possibly as part of Roadmaps)
Gathering Interest
98
2021-01-04T15:17:59.007+0000
The six steps save nothing, and only Apply writes to Jira
The controls in the six steps change what you see and store at most a key in your browser's localStorage, with names like ppm.display.gantt.lens.<planId>. A comment in the toolbar's source puts it this way: "Lens, group and zoom are VIEW state (remembered per plan in this browser) — none of them changes the plan."
At the end of my run for steps 5 and 6 the plan's header still read "Saved" and there was no Apply button. A staged change would have put one there. (I didn't log the header after the run for steps 1 to 4.)
Only Apply writes to Jira. The Dates… and Plan vs Jira… buttons on the card open editors that change the plan, and the palette holds three commands that act: Apply changes to Jira, Re-index plan and Plan brief. I didn't touch any of them.
If it didn't work
I turned Sets the finish on, reloaded, and it's off. That toggle isn't remembered. Your lens and zoom are stored per plan in your browser, and so are the folds. Connectors and baseline bars are stored per browser for all plans. Sets the finish is plain page state and resets on reload.
Month zoom shows empty rows. It did for me too. After Month and Today, the open Q2 2027 group had no bars in view because its bars are in spring 2027 and the window showed autumn 2026. Scroll right, or click Fit.
Everything opened in the middle of the list. Both times I switched to Everything it put me at row 1,817 of 1,992, on dated work. I haven't traced why. Scroll up for the top.
A marker's label is cut off. At Month zoom "v3.0 General Release" was clipped at the right edge (you can see it in the step 2 screenshot). A wider window should fix it, probably. I didn't try one.
Room shows a dash. Done items have no room, and neither do items the app can't measure. A late item also shows none, on purpose. During the build we had a row on a test plan that read "Late" next to "116 wd of room", which is nonsense, and since the end of September a late row has no room figure.
The Week zoom header looks broken in an old screenshot. We found that one while recording the video series this one belongs to. The header printed day numbers into cells 14 px wide, and a two-digit day needs about 19, so the line read "Jan 1, 2027 | | | 7 8 9" and then went blank. Week view now labels each week. The change shipped in the release after the one in the video.
What it doesn't do, and what else can
- It doesn't put undated work on the chain. An undated item has no room figure and, in the legend's words, is "never a bar, not in the forecast". With 86% of this plan undated, the chain is the critical path of the dated 14%.
- It can overstate room in one case. If an item's successor has no start date, that link can't be measured and the item is treated as an end point.
- Buffers aren't part of the room figure. Room assumes the durations hold.
- The at-risk threshold is 5 working days. The tooltip calls it a plan setting, and in the code it's still a default constant.
- The palette's labels are behind the UI: it says "Go to Gantt" and "Toggle critical path" while the tab is called Timeline and the button says Sets the finish.
On Jira itself: I can't quote Atlassian saying it has no critical path. I read nine support pages about the timeline and plans and none uses the phrase. Atlassian's marketing does use it. Its Plans guide says dependencies "determine the critical path of your plan", and its critical-path article says Jira "makes it easier to calculate the critical path". Neither names a button that shows it.
Other Gantt apps on the Marketplace do have such a button. Ricksoft documents "Viewing the critical path" for WBS Gantt-Chart, and Brizo has a critical path page for Gantt Suite. I haven't run either on this plan, so I can't tell you how their chains compare with ours. Our own comparison of the field is in LeanZero Management vs the Jira PPM field.
What you have now
[[takeaways]]
- A Jira Gantt chart with the critical path in its own lane: Timeline tab, then Sets the finish.
- A default lens that folds the plan by epic and quarter, with undated work in one row at the bottom.
- A card on any bar with its dates, the dates Jira holds, its room and what it waits on.
- A Needs attention list by reason, whose number leaves out the information group.
- A way to check the lane: the per-quarter chain counts add up to the button's number, and the lane ends on the Forecast finish line at Fit.
The header above this chart turns the same numbers into a status you can send, and that's the next read: a Jira project status report your sponsor can trust.
Originally published on leanzero.net. More Atlassian, Forge and local-AI write-ups at leanzero.net/blog, and if you're planning a migration or a Forge app, that's what we do: leanzero.net/services.










Top comments (0)