Back to product

Dependency Graph for Jira

Complete user documentation

Version 1.0.0 · Updated April 2026

On this page

1. Introduction

Dependency Graph for Jira turns the issue links in your projects into an interactive visual map. Instead of clicking from ticket to ticket trying to remember what blocks what, you see the entire dependency network on one screen and can navigate it with your mouse.

The app reads your Jira issue links — Blocks, Clones, Duplicates, and Relates To — and renders them as a force-directed graph. You can switch between four layout algorithms, filter by any combination of issue properties, spotlight specific neighborhoods, identify the critical path, and create or delete links by dragging.

Everything runs on Atlassian Forge. Your data never leaves your tenant.

Who it's for

  • Engineering managers and tech leads who need to identify blockers across teams
  • Product managers doing release planning and impact analysis
  • Project managers tracking critical paths and dependencies between epics
  • Anyone in Jira who's ever been surprised by a hidden dependency

2. Getting started

2.1 Installation

  1. Open the Atlassian Marketplace listing for Dependency Graph for Jira.
  2. Click Try it free or Get it now.
  3. Choose the Jira site to install on and confirm.
  4. Once installed, the app appears in two places (see Entry points below).
No additional configuration is required. The app uses your existing Jira issue links — there's nothing new to set up.

2.2 Entry points

You can open the app in two ways:

Project page
Open any Jira project, then click Dependency Graph in the project sidebar. The graph loads automatically with the current project pre-selected.
Global page (sidebar)
Click Apps in the top navigation, then Dependency Graph. You'll see a project picker first; choose one or more projects, then click Load Graph.

2.3 Loading your first graph

  1. From the global page, type a project key or name in the Search for a project box.
  2. Click a result. The project appears as a tag below the search box.
  3. (Optional) Pre-configure filters before loading — useful for very large projects. See Filtering.
  4. Click Load Graph. The graph renders within seconds for typical projects.

You can repeat steps 1–2 to add multiple projects before clicking Load Graph. See Multi-project graphs.

3. Interface overview

3.2 Toolbar

Below the header:

  • Refresh — re-fetch issues and links from Jira
  • Search issues… — autocomplete by issue key or summary (see Issue search)
  • Filters — open the filter panel; a number badge shows how many filters are active
  • Layout — dropdown to switch between Force-Directed, Hierarchical, Circular, and Timeline
  • Reset — return zoom and pan to their default
  • Fit — auto-scale the graph to fill the viewport
  • Show Done / Hide Done — toggle visibility of completed issues
  • Show Unlinked / Hide Unlinked — toggle the unlinked-issues tray; the badge shows the count

3.3 Legend panel

Top-left of the canvas. Lists the issue types and link types currently visible, the line style of each link type, and quick-reference for keyboard and mouse interactions.

If your graph has no dependencies yet, the legend shows a hint to drag from the orange handle on a node to create your first link.

3.4 Unlinked-issues tray

Right side of the canvas, only visible when Show Unlinked is on. Shows every issue in the loaded projects that has no dependency links. You can drag any card onto the canvas to place it on the graph, or click it to open its impact panel.

3.5 Impact analysis panel

Right side of the canvas, opens when you click a node. Shows that issue's dependency counts, downstream blocked work, and a link to open the issue in Jira. See Impact analysis for full details.

4. Layout modes

Switch between layouts using the Layout dropdown in the toolbar. Each algorithm presents the same data in a different way; pick the one that fits the question you're trying to answer.

4.1 Force-Directed (default)

A physics simulation where connected nodes attract each other and unconnected nodes repel. Best for exploring the overall shape of your dependency network.

  • Issues belonging to the same epic cluster naturally
  • Highly connected hubs gravitate to the center
  • Layout adapts automatically to graph size
  • Position saving — once you drag a node into place, that position is remembered next time you open the graph

4.2 Hierarchical

Top-down tree layout. Best for tracing dependency chains from upstream causes to downstream effects.

  • Root nodes (issues that block others but aren't blocked themselves) appear at the top
  • Each subsequent row is one "blocks" hop downstream
  • Easy to spot bottlenecks where many chains converge on a single issue

4.3 Circular

Concentric rings grouped by issue status. Best for seeing where work is concentrated.

  • Inner ring: Done
  • Next ring: In Progress
  • Outer rings: To Do and Blocked
  • Dependencies are drawn as arcs across rings

4.4 Timeline

Date-based swim lanes. Best for release planning.

  • X-axis: issue creation date
  • Y-axis: swim lanes by status (To Do, In Progress, Done, Blocked)
  • Dependencies that point backwards in time are immediately visible — a strong signal of work that's blocked by something newer

5. Nodes

5.1 Node anatomy

Each node represents one Jira issue and shows:

  • Issue key in the center (e.g., PROJ-123)
  • Color fill indicating the issue type
  • An outer ring indicating status
  • A score badge in the top-right corner (when PM scores are available)
  • Two orange connector handles on the left and right edges (visible on hover) — used for drag-to-link

5.2 Colors and sizes

Color is derived from the issue type. Standard Jira types (Bug, Story, Task, Epic, Sub-task) use the familiar Jira palette. Custom issue types are assigned a stable, deterministic color.

Size is derived from the PM score (when available). Higher-scored issues render larger so they catch the eye. Without PM scores, all nodes render at uniform size.

5.3 Status indicator rings

The outer ring's color and style reflect the current status:

  • Done — solid green
  • In Progress — dashed blue
  • To Do — dashed gray
  • Blocked — dashed red

5.4 Score badges

The small circular badge in the top-right corner of each node shows its PM score. Color codes:

  • Green — score ≥ 200 (high priority)
  • Orange — score ≥ 100 (medium priority)
  • Red — score below 100 (lower priority)
  • Gray (0) — no score available

If you don't have a PM scoring app installed, all badges show 0 and node sizes are uniform.

7. Interactions

7.1 Mouse actions

ActionEffect
Hover a nodeHighlight its connections (spotlight); reveal connector handles
Click a nodeOpen its impact analysis panel; apply persistent spotlight
Double-click a nodeOpen the issue in Jira (new tab)
Drag a nodeMove it; other nodes repel like magnets
Click a link (edge)Open the delete-link confirmation dialog
Drag connector handle to another nodeOpen the create-link dialog
Click empty spaceDeselect all nodes and clear the impact panel
Mouse wheelZoom in/out
Click-and-drag empty spacePan the canvas

7.2 Keyboard shortcuts

ShortcutEffect
Shift + Click nodeAdd or remove the node from multi-selection
Shift + Drag empty spaceRectangle-select multiple nodes
EscCancel link creation, close dialogs, clear selection
in searchNavigate search results
Enter in searchSelect the highlighted result

7.3 Multi-select & bulk move

Select multiple nodes by either:

  • Shift + clicking each one (toggle add/remove)
  • Shift + dragging a rectangle on empty canvas

Once multiple nodes are highlighted, dragging any of them moves the whole group together while preserving their relative positions. Click empty space (or press Esc) to deselect.

7.4 Zoom & pan

Use the mouse wheel to zoom in and out. Click and drag empty canvas to pan. The toolbar's Reset button returns to the default view; Fit auto-scales the graph to fill the viewport.

Semantic zoom: when you zoom out, node labels and edge labels fade away to keep the view readable. Zoom back in to see them again.

9. Spotlight mode

Spotlight is the app's focus tool — it dims everything except the issue you care about and its surrounding network so you can read complex graphs without losing context.

9.1 Hover spotlight

Move your cursor over any node. The node and its connections light up at full brightness; everything else fades. Move the cursor away and the graph returns to normal.

9.2 Persistent spotlight

Click a node to "lock" the spotlight on it. The dim-everything-else effect persists even when your cursor moves elsewhere. Click empty canvas (or press Esc) to release.

While a node is locked, hovering another node temporarily switches the spotlight to that node — useful for jumping between focal points without losing the locked one when you move away.

9.3 Degree setting (1, 2, 3 hops)

The Degree dropdown in the filter panel controls how far the spotlight reaches:

  • 1 (default) — only direct neighbors
  • 2 — neighbors and their neighbors
  • 3 — three-hop neighborhood

The Degree setting only affects the spotlight; nothing is hidden from the graph.

10. Critical path

The critical path is the longest chain of Blocks dependencies in your graph. It's the sequence of work that, if any link in it slips, will delay everything downstream.

The app calculates the critical path automatically every time the graph loads. Critical-path edges render slightly thicker (2 px wider) than normal Blocks edges and stay visible even at low zoom levels.

You don't need to enable anything — if your graph contains Blocks links, the critical path is highlighted by default. Only Blocks links are considered; Clones, Duplicates, and Relates To don't affect the calculation.

11. Impact analysis

Click any node to open its impact analysis panel on the right side of the screen. The panel answers the question: "If this issue slips, what else is affected?"

The panel shows:

  • Issue key and summary at the top
  • PM score and framework (e.g., Score: 90.91 · Framework: RICE) when available
  • Link counts grid: number of Blocks, Clones, Duplicates, Relates To links, plus a calculated Blocked Score (sum of PM scores for all downstream blocked issues)
  • Blocked Issues list — every downstream issue this one blocks, with key, summary, and individual score. Click any row to navigate to that issue's panel.
  • View Issue Details button — opens the issue in Jira (new tab)

12. Filtering

Click Filters in the toolbar to open the filter panel. The number of active filters appears as a badge.

12.1 Available filters

FilterTypeWhat it does
TypeMulti-selectShow only selected issue types (Story, Bug, Task, Epic, …)
StatusMulti-selectShow only issues in selected statuses (To Do, In Progress, Done, Blocked)
Link TypeMulti-selectShow only links of selected types
PriorityMulti-selectShow only issues at selected priorities
AssigneeMulti-select, searchableShow only issues assigned to selected people
Created AfterDateShow only issues created on or after this date
Due BeforeDateShow only issues due on or before this date
Degree1 / 2 / 3Spotlight depth (see 9.3)

12.2 Hide Done toggle

The Show Done / Hide Done button in the toolbar is a quick shortcut to filter out completed issues without opening the full filter panel. The label flips to show the current state.

12.3 Clearing filters

Click Clear All at the top of the filter panel to reset every filter at once. Filter state survives a graph refresh within the same session but resets when you reload the page.

14. Multi-project graphs

You can load multiple projects together to see cross-project dependencies in one view.

  1. From the project picker (or the + Add project button in the header), select each project you want to include.
  2. Each selection appears as a tag.
  3. Click Load Graph (or Apply if you're adding to an existing graph).

Up to 20 projects can be combined in a single graph. Issues from different projects render side by side; cross-project links connect them naturally.

Remove a project by clicking the × on its tag.

15. Working with unlinked issues

Issues that have no dependency links are hidden by default to keep the canvas focused. To work with them:

  1. Click Show Unlinked in the toolbar — the count appears in parentheses.
  2. The right-side tray fills with a card for each unlinked issue.
  3. Drag a card onto the canvas to place it on the graph at that position. From there you can use drag-to-link to connect it.
  4. Or click the card to open its impact panel without placing it.
  5. Click Hide Unlinked to close the tray.

16. Light & dark themes

The app automatically follows your operating system's appearance setting. Switch your OS to dark mode and the app's interface — including the canvas — switches with it. There is no manual override; this keeps the app consistent with the rest of your Jira workspace.

17. Position saving

When you drag nodes around in Force-Directed layout, your custom positions are saved automatically (after a brief debounce). Next time you open the same graph, the nodes appear where you left them.

A small "Saved" indicator appears momentarily after each save.

The other layouts (Hierarchical, Circular, Timeline) recalculate positions every time they load, so manual movements aren't preserved.

18. PM scoring integration

Dependency Graph for Jira can read priority scores from a separate PM Scoring Forge app (sold separately). When that app is installed and your team is using a scoring framework like RICE, WSJF, ICE, or ROI, this app picks up those scores automatically.

What changes when scores are present:

  • Node sizes vary — higher-scored issues render larger
  • Score badges show real values with green/orange/red color coding
  • The impact analysis panel shows the framework name and score
  • The "Blocked Score" total in the impact panel becomes meaningful

If you don't use a PM scoring app, the graph still works — all nodes simply render at uniform size with score badges showing 0.

19. Performance & large graphs

The app has been tested with graphs of 1,000+ issues and 400+ dependencies in a single view. A few things help keep large graphs responsive:

  • Semantic zoom hides labels and edge text at low zoom levels
  • Adaptive force scaling adjusts the physics simulation based on graph size
  • Progressive PM enrichment — for projects over 150 issues, PM scores load in background batches of 50 after the graph appears, so you don't wait on them
  • Position saving — once nodes are placed, future loads skip the layout phase

If you're loading a very large project for the first time, expect a few extra seconds while issues are fetched. A loading message appears: "Your project is quite large — this may take a moment."

While PM scores are loading in the background, a small banner at the bottom shows progress ("Loading PM scores… 42/300") and disappears once complete.

20. License states

The app uses Atlassian's standard licensing.

  • Active license — full functionality, including creating and deleting links
  • Trial — same as active during the trial window
  • Expired or no license — the graph is read-only. You can still view, filter, search, and analyze, but the create-link and delete-link actions are disabled. A red banner at the top explains the state and links to renewal.

21. Privacy & security

Dependency Graph for Jira is built on the Atlassian Forge platform. That gives it some important properties:

  • Your data stays in your tenant. All issue data is fetched from Jira on demand and discarded at the end of each request — nothing is mirrored or exported.
  • The only data persisted is graph layout coordinates (where you've placed nodes). No issue contents, no user information.
  • No third-party services. The app makes no calls to any external server or analytics provider.
  • Uninstall removes everything. Removing the app from your site triggers a cleanup that deletes every saved layout coordinate.
  • Permissions are minimal. The app requests only the Jira scopes it needs to read and write issue links.

For full details, see our Privacy Policy, Terms of Use, and Security Statement.

22. Troubleshooting

The graph is empty after loading

Check that the project actually contains issues with dependency links (Blocks, Clones, Duplicates, or Relates To). If only unlinked issues exist, click Show Unlinked to see them.

I can't create or delete links

Look for a red banner at the top of the page indicating a license issue. If your trial has expired or your subscription has lapsed, write operations are disabled until you renew.

Loading takes a long time

Very large projects (1,000+ issues) can take 10–20 seconds to load. PM scores load progressively after the graph appears so you can start interacting immediately.

Node positions reset when I switch layouts

Position saving applies only to the Force-Directed layout. Other layouts always recalculate positions when they load.

I dragged a node and now it's stuck off-screen

Click the Fit button in the toolbar to auto-scale the graph back into view, or Reset to return to the default zoom.

A search result doesn't appear on the graph

If filters are hiding the issue, the search will still find it but the canvas may not show it. Click Clear All in the filter panel.

23. FAQ

Does the app work in Jira Service Management?

Yes. The app reads standard Jira issue links, which exist in JSM the same way they do in Jira Software and Jira Work Management. You may find that JSM-style workflows use dependency links less often, but the app works identically.

Can I export the graph as an image?

Image export is on the roadmap. For now, use your operating system's screenshot tool.

Can I see dependencies across projects?

Yes — load multiple projects in the same graph (see Multi-project graphs) and any cross-project links render naturally.

Does the app modify my issues?

The app only modifies the link relationships you explicitly create or delete via drag-to-link and the delete-link dialog. Issue fields, summaries, statuses, and other properties are read-only from the app's perspective.

Is the app translated into other languages?

Version 1.0 is English-only. Localization is on the roadmap.

Can I use this with Atlassian's Data Center products?

No — Dependency Graph for Jira is a Cloud-only app built on Forge. It is not available for Jira Data Center or Server.

Why are some link types not shown?

The app supports the four standard Jira link types: Blocks, Clones, Duplicates, and Relates To. Custom or third-party link types installed in your Jira instance are not currently rendered.

24. Support

Need help, want to report a bug, or have a feature request?

We typically respond within one business day.