Goor Software

Read-only Gantt for Jira

Documentation · Updated 16 August 2026

A Gantt chart for a Jira project. It reads your issues and draws them on a timeline — and it holds no write permission, so it cannot change, move or delete anything in Jira.

Installing and finding the chart

The app runs on Jira Cloud. Install it from the Atlassian Marketplace, or in Jira under Settings → Apps → Explore more apps. Installation needs Jira administrator rights; using the chart does not.

After installation, open any project and choose Gantt in the project sidebar. Both company-managed and team-managed projects are supported.

Everyone who can browse the project can open the chart. The app shows each person exactly the issues they can already see in Jira — it never widens access.

How issues load

Opening the chart reads only the top level of the project: epics, plus any issues that have no parent. On a large project this is the difference between a chart in under a second and a wait of half a minute, so it is worth knowing where the rest is.

To see what is inside a branch, either click the arrow next to it in the list, or click the epic’s bar on the timeline. Both load that branch’s issues and show them.

Clicking an epic’s bar expands it rather than opening the issue, because that is what people want far more often. To open the epic itself, click its key in the list on the left.

Expand all loads the entire project. On a project of a few thousand issues this takes a while and is deliberately never done automatically — only when you ask for it. A progress bar appears under the toolbar, and a spinner appears on the row you clicked.

The status line always says how much is loaded, so nothing is hidden from you silently.

Reading the chart

The shape of a bar tells you where its dates came from.

What you seeWhat it means
Solid bar The issue has a start date and a due date of its own.
Diamond The issue has a due date but no start date, so it is drawn as a milestone rather than a bar of zero length.
Dashed outline A parent with no dates of its own. The range is derived from its children, and the tooltip says so. Nothing is invented.
No bar at all The issue has no dates. It still appears in the list, because “this issue has no dates” is worth knowing.
Red outline The due date is earlier than the start date. The data is shown as it is, not quietly corrected.
Arrow between bars A dependency. By default these are Blocks links; an administrator can add other link types.
Red dashed arrow A dependency whose dates contradict it — the blocked issue starts before the blocking one ends.

An arrow is drawn only when both issues are loaded. If a dependency points into a branch you have not expanded yet, it appears once you expand it.

Hovering a row shows a tooltip with the issue type, full summary, status, assignee, dates and duration — useful in the list, where long summaries are usually cut off.

When the chart opens it centres on today: the current date sits about a third of the way in from the left, and the list scrolls to the first row whose work crosses today. If you have already moved the view yourself, the app will not move it under your hands.

Controls

Completed
Off by default. Turn it on to include issues in a Done status. A Gantt chart is usually opened to look forward, so finished work starts out hidden — but the status line always says how much is hidden.
Undated
Off by default. Issues with no dates have no bar, and in quantity they push the real work off screen. Turn it on to see them in the list.
Collapse all / Expand all
Collapse all reduces the view to epics — a compact overview of what is running, finished and still ahead. Expand all loads and shows everything.
Today
Returns the view to the current date.
Timeline scale
Days, Weeks or Months.

Moving around. Drag the chart itself to pan in any direction; a throw carries a little momentum. The scrollbar still works, but on a six-month timeline dragging is far quicker.

The divider between the list and the timeline can be dragged to give either side more room. Double-click resets it. Your choice is remembered in the browser, per screen.

Opening an issue. Click an issue key in the list, or a bar or milestone on the timeline. It opens in a new tab so the chart stays where it was.

Dates, month names, the first day of the week and which days count as the weekend all follow your Jira language and region settings, not the app’s. The app’s own interface is in English.

The status line

Under the chart, one line answers the questions support gets asked most:

Hovering the status line shows how many requests were made and how long loading took — worth quoting if you ever write to support.

Settings

Jira administrators can open Settings → Apps → Read-only Gantt to choose:

These settings are stored by the app and are never written back into Jira.

How date fields are detected

Jira has no single universal “start date”, so the app works down a ladder of increasingly weak signals, and stops at the first that answers.

  1. By field identifier. duedate is a system field and is the same on every Jira site.
  2. By field type. Advanced Roadmaps baseline start and end fields declare their own type, which does not depend on language.
  3. By what is actually filled in. Jira Software’s own “Start date” is an ordinary custom field whose identifier differs between sites, so the app samples a small number of issues to see which date field the team really uses.
  4. By name, in several languages — a last resort, used only to break a tie.

Housekeeping fields such as Created and Updated are excluded: they are always filled in and would win a popularity contest while meaning nothing.

The result is cached for a month, then checked again, in case the team has moved to a different field.

Troubleshooting

“No start date field detected. Issues are shown by due date only.”
Nothing on the project fills a recognisable start field, so everything with a due date is drawn as a milestone. Set the field explicitly in the app’s settings.
An epic has no bar
It has no dates of its own and has not been expanded yet, so there is nothing to derive a range from. Expand it and a dashed range appears.
Rows appear with no bars
Those issues have no dates. In team-managed projects, subtasks have no date fields at all, so they never get bars.
“No issues match the current filters”
Everything loaded is hidden by the Completed or Undated filter. The status line says how many.
“Could not read issues from Jira”
Usually a permissions problem — the account cannot browse this project. Reload to try again.
“Jira rate limit reached. Retrying in…”
Jira is throttling requests, typically after loading a very large project. The app waits and continues on its own; nothing is lost.
“This app needs an active license”
A Jira administrator can start a trial or subscribe from Settings → Apps → Manage apps.

Permissions and data

The app declares two permissions and no others: read:jira-work to read issues, and storage:app for its own settings. There is no write permission of any kind, which is why the app cannot alter your data even by mistake. You can see this list on the Marketplace before installing.

It runs entirely on Atlassian infrastructure and sends nothing outside it. What it stores, and what it does not, is set out in the privacy policy; organisations needing a processor agreement can use the Data Processing Agreement.

Still stuck?

Write to support@goor.email. We answer within two business days. Quoting the status line helps.