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
- Open the Atlassian Marketplace listing for Dependency Graph for Jira.
- Click Try it free or Get it now.
- Choose the Jira site to install on and confirm.
- Once installed, the app appears in two places (see Entry points below).
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
- From the global page, type a project key or name in the Search for a project box.
- Click a result. The project appears as a tag below the search box.
- (Optional) Pre-configure filters before loading — useful for very large projects. See Filtering.
- 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.1 Header bar
Across the top of every graph view:
- Project tags — currently loaded projects, each with an × to remove
- + Add project — open the project picker to add another project
- Counts — total issues and dependencies currently displayed
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.
6. Link types
Dependency Graph for Jira recognizes the four standard Jira issue link types. Each has its own color and line style so you can read the network at a glance.
6.1 Blocks
- Color: Red (#FF3B30)
- Style: Solid line, 2.5 px wide
- Direction: Directional (arrow points from blocker to blocked)
- Use it for: Hard dependencies. The "blocker" must be done before the "blocked" can start.
- Special: Only Blocks links count toward the critical path calculation.
6.2 Clones
- Color: Blue (#007AFF)
- Style: Solid line, 2 px wide
- Direction: Directional (arrow points from original to clone)
- Use it for: Tickets that were copied from one another, often across projects.
6.3 Duplicates
- Color: Orange (#FF9500)
- Style: Dashed line, 2 px wide
- Direction: Directional (arrow points from duplicate to canonical)
- Use it for: Marking tickets that report the same problem.
6.4 Relates To
- Color: Gray (#8E8E93)
- Style: Dashed line, 1.5 px wide
- Direction: Bidirectional (no arrow)
- Use it for: Loose, contextual relationships that don't fit the other three types.
7. Interactions
7.1 Mouse actions
| Action | Effect |
|---|---|
| Hover a node | Highlight its connections (spotlight); reveal connector handles |
| Click a node | Open its impact analysis panel; apply persistent spotlight |
| Double-click a node | Open the issue in Jira (new tab) |
| Drag a node | Move it; other nodes repel like magnets |
| Click a link (edge) | Open the delete-link confirmation dialog |
| Drag connector handle to another node | Open the create-link dialog |
| Click empty space | Deselect all nodes and clear the impact panel |
| Mouse wheel | Zoom in/out |
| Click-and-drag empty space | Pan the canvas |
7.2 Keyboard shortcuts
| Shortcut | Effect |
|---|---|
| Shift + Click node | Add or remove the node from multi-selection |
| Shift + Drag empty space | Rectangle-select multiple nodes |
| Esc | Cancel link creation, close dialogs, clear selection |
| ↑ ↓ in search | Navigate search results |
| Enter in search | Select 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.
8. Link management
8.1 Creating links (drag-to-link)
- Hover a node — two orange connector handles appear on its left and right edges.
- Click and hold a handle, then drag toward another node. A temporary line follows your cursor.
- Hover the target node — it flashes yellow to confirm it's a valid drop target.
- Release the mouse on the target. A Create Link dialog opens.
- Pick a link type (Blocks, Clones, Duplicates, Relates To). A small preview shows the resulting line style.
- Click Create Link. The new link writes to Jira and appears on the graph.
Press Esc at any point to cancel.
8.2 Deleting links
- Click the link (the line) you want to delete.
- A confirmation dialog appears showing the link being deleted.
- Click Delete to confirm. The link is removed from Jira immediately.
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
| Filter | Type | What it does |
|---|---|---|
| Type | Multi-select | Show only selected issue types (Story, Bug, Task, Epic, …) |
| Status | Multi-select | Show only issues in selected statuses (To Do, In Progress, Done, Blocked) |
| Link Type | Multi-select | Show only links of selected types |
| Priority | Multi-select | Show only issues at selected priorities |
| Assignee | Multi-select, searchable | Show only issues assigned to selected people |
| Created After | Date | Show only issues created on or after this date |
| Due Before | Date | Show only issues due on or before this date |
| Degree | 1 / 2 / 3 | Spotlight 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.
13. Issue search
Use the Search issues… box in the toolbar to jump to any issue on the graph.
- Type any part of the issue key (e.g.
TS-3) or summary - Up to 8 matching results appear in a dropdown, each with a colored status badge
- Click a result, or use ↑ ↓ + Enter, to zoom to that issue and open its impact panel
- Press Esc to close the dropdown
14. Multi-project graphs
You can load multiple projects together to see cross-project dependencies in one view.
- From the project picker (or the + Add project button in the header), select each project you want to include.
- Each selection appears as a tag.
- 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:
- Click Show Unlinked in the toolbar — the count appears in parentheses.
- The right-side tray fills with a card for each unlinked issue.
- 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.
- Or click the card to open its impact panel without placing it.
- 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?
- Support portal: chefstackz.com/support
- Email: support@chefstackz.com
- Privacy Policy: chefstackz.com/privacy
- Terms of Use: chefstackz.com/terms
We typically respond within one business day.