Tripwire Docs

When an issue your team depends on slips — due date pushed later, punted from a sprint, or gone quiet — Tripwire notifies the dependent team's assignee and lead automatically, right on the issue. No rules to write, no Automation quota, all inside Atlassian.

Runs on Atlassian No external data egress Zero Automation quota Free for up to 10 users

What Tripwire does

Your team depends on issues owned by other teams. When one of those blockers slips, Jira writes it to the changelog and tells no one — you find out at sprint review. Tripwire fixes that, without a Slack bot and without any data leaving Atlassian.

Tripwire watches the built-in "blocks" issue links you already use. When a blocker slips — its due date moves later, it gets punted out of a sprint, or it goes quiet for too long — Tripwire posts a blame-free comment on the dependent issue and @-mentions the people who need to know. When the blocker resolves, it tells them they're unblocked. It's a focused Forge app for Jira Cloud — one job, done well.

Getting started

After a site admin installs Tripwire from the Atlassian Marketplace, it starts working immediately — there is nothing to configure. You'll interact with it in three places:

On the issue

Alerts arrive as comments on the dependent issue, @-mentioning the assignee and project lead. Jira delivers them through its normal notifications.

The dashboard

Apps → Tripwire — a global page with tabs for At risk, All edges, Digest, and Settings.

The digest issue

A per-project "Dependency Digest" issue (labelled tripwire-digest) that Tripwire creates lazily to hold the weekly digest and bulk-change summaries.

Works on day one. Sensible defaults apply before you touch a setting: Tripwire watches the standard Blocks link type, alerts across projects, and is tuned not to spam. Zero-config is a supported way to run it.

How dependencies are detected

Tripwire builds a registry of dependency edges from your issue links. An edge is a directed pair: a blocker (the issue that must be done first) and a dependent (the issue waiting on it). It reads the direction from the link so it always alerts the side that is waiting, never the side doing the work.

Alerts — every notification Tripwire can post

Every alert is a comment on the dependent issue, written to be blame-free — it states what changed, never who is at fault. Here is the complete catalogue.

Due-date slip

The blocker's due date moved later by at least your slip threshold.

SLIPPED ⚠️ Dependency slipped: PLAT-87 "Payments service migration" — due date moved Jul 12 → Jul 26 (14 days later). This issue depends on it. @maya @tomas

Posted on the dependent issue · assignee + project lead notified

Due-date removed

The blocker's due date was cleared entirely — often a quiet signal that a commitment has evaporated.

SLIPPED ⚠️ Dependency lost its due date: PLAT-87 "Payments service migration" no longer has a due date (was Jul 12). This issue depends on it. @maya

Treated as a slip — there's now no date to plan around

Punt to the backlog

The blocker was pulled out of its sprint back into the backlog — no sprint now owns it.

PUNTED ↩️ Dependency punted to the backlog: PLAT-87 "Payments service migration" was removed from its sprint. This issue depends on it. @maya

Detected from the sprint field changing to empty

Punt to a later sprint

The blocker moved from its current sprint to one that starts later. Tripwire reads sprint start dates so it can tell a genuine push-out from routine board hygiene.

PUNTED ↩️ Dependency moved to a later sprint: PLAT-87 "Payments service migration" moved from Sprint 24 to Sprint 26. This issue depends on it. @maya

Only fires when the new sprint starts later than the old one

Gone quiet (staleness)

An unresolved blocker hasn't been touched — no status, date, or field change — for longer than the stale window (about a week by default). No one moved it; it just went silent.

STALE 🕰️ Dependency has gone quiet: PLAT-87 "Payments service migration" hasn't been updated in 9 days and is still open. This issue depends on it. @maya

Surfaced by the daily sweep; clears automatically when the blocker is touched again

Unblocked

When a blocker resolves, Tripwire is remaining-blocker aware — it checks whether the dependent still has other open blockers before it declares good news, so it never says "you're clear" while you're still stuck. There are three variants:

CLEARED ☑️ One blocker resolved — PLAT-87 is done, but this issue is still waiting on 2 more (PLAT-91, DATA-12). @maya

Partial unblock — progress, but not clear yet

CLEARED 🟢 Ready to pick up: the last blocker (PLAT-87) is resolved and nothing else is blocking this issue. It hasn't been started yet. @maya @tomas

Last blocker cleared, dependent not yet in progress

CLEAREDYou're unblocked: the last blocker (PLAT-87) is resolved. This issue is free to move. @maya

Last blocker cleared while the dependent is already in progress

Bulk-change summary

When one person triggers a burst of slips at once — a sprint reshuffle that moves a dozen issues — Tripwire folds them into a single summary instead of a flood of comments. The summary is posted to the project's Dependency Digest issue (see Anti-spam).

SUMMARY 📦 12 dependencies shifted by Sam Smith in a bulk sprint change. Affected dependents: SHOP-142, SHOP-148, WEB-31 … (see the list below)

One comment on the digest issue instead of 12 on separate issues
Silent by design, too. Not every change is worth a ping. Registering a new dependency (E7) and removing one (E8) are tracked silently, and a slip on a resolved blocker, an ambiguous change, or a move to an earlier sprint produces no alert — Tripwire is deliberately false-alert-averse. When it isn't sure, it stays quiet and records why.

Who gets notified

Each alert @-mentions the people best placed to react on the dependent side, so Jira's own notifications reach them. By default:

RecipientWhen
The dependent issue's assigneeAlways, when there is one — they own the waiting work.
The dependent project leadSo someone is accountable even if the issue is unassigned.
Additional recipientsOptional extra people you pick per project (e.g. a delivery lead), configured in Settings.

Recipients are configurable per project — you can turn the assignee or lead mention off, or add named people with the user picker. Tripwire resolves everyone by display name; if a lookup ever fails it degrades gracefully rather than exposing raw account IDs.

Built not to spam

The fastest way to get an alerting app uninstalled is to make it noisy. Tripwire has four layers of restraint:

Muting never loses data. While a project is muted, edge state and slip counts keep advancing silently. Unmute and the dashboard is already up to date — you just stopped the comments, not the tracking.

The weekly digest

Once a week (on a weekday you choose), Tripwire posts a per-project digest — the Monday catch-up that replaces a cross-team status meeting. Each digest gathers what happened across that project's dependencies:

The digest is posted as a comment on that project's lazily-created "Dependency Digest" issue (labelled tripwire-digest), rendered as rich Jira content, and is also available on the dashboard's Digest tab. If someone deletes the digest issue, Tripwire detects it and recreates it — the digest never silently dies. You can disable the digest or change its recipients and weekday in Settings.

The dashboard

Open Apps → Tripwire for a global page with four tabs — the 10-minute triage view for everything cross-team.

At risk

Every dependency currently slipped, punted, or stale and still open — the "what should we worry about" list, with days slipped or days idle.

All edges

The full dependency registry with blocker, dependent, project, state, and last change — filterable, so you can see everything Tripwire is watching.

Digest

The latest per-project digest, rendered in place, so you don't have to hunt for the digest issue.

Settings

Everything below — watched link types, thresholds, recipients, digest, and per-project mute.

Settings

From the Settings tab you control all of Tripwire's behaviour:

SettingWhat it does
Watched link typesWhich issue-link types count as a dependency (default: Blocks).
Slip thresholdHow many days a due date must move later before it counts as a slip.
Due-date-removed alertsWhether clearing a blocker's due date is treated as a slip.
Stale windowHow long an untouched, open blocker waits before it's "gone quiet".
Lookahead / re-alert windowsTune how far ahead Tripwire looks and how it re-surfaces ongoing risk.
Cross-project onlyTrack only cross-team dependencies, or include same-project ones too.
Unblock notificationsTurn the "ready to pick up" / "you're unblocked" alerts on or off.
Recipients (per project)Toggle the assignee and project-lead mentions and add extra people with a user picker.
DigestEnable/disable it, choose the weekday, and set who it notifies.
Mute (per project)Stop comments for a project while tracking continues in the background.

Why an alert did — or didn't — fire

The most common support question is "I changed something and got no alert" (or the reverse). Tripwire is deliberately conservative; this table explains the logic.

SituationAlert?
Blocker's due date moved later by ≥ the threshold✅ Due-date slip
Blocker's due date moved earlier, or by less than the threshold❌ Good news / below threshold — no alert
Blocker's due date cleared✅ Due-date removed (if enabled)
Blocker punted to the backlog or a later sprint✅ Punt
Blocker moved to an earlier / current sprint❌ Not a slip — no alert
Open blocker untouched past the stale window✅ Gone quiet
The change happened on a resolved blocker❌ Already done — no alert
The changed issue is not a blocker of anything❌ Nothing depends on it — no alert
The dependency isn't a watched link type❌ Not tracked — no alert
The project is muted❌ Tracked silently — no comment, still on the dashboard
Same edge + kind already alerted in the last 24 h❌ Cooldown — no duplicate
One actor slipped many dependencies at once✅ Folded into one bulk summary on the digest issue
Last blocker resolved✅ Unblocked (ready / in-progress / partial)

Privacy & permissions

Tripwire is built on Atlassian Forge and runs entirely inside Atlassian Cloud. It makes no requests to any external server and stores only a small dependency layer over your issues (which issue blocks which, the state and slip count, the timestamps and date/sprint snapshots it needs to spot the next change, the anti-spam ledger, and your settings). It does not store your issue descriptions, comments, or attachments.

ScopeWhy
read:jira-workRead issues, links, dates, and statuses to detect dependency slips.
write:jira-workPost the alert comment and maintain the per-project digest issue.
read:jira-userResolve display names of assignees, leads, and recipients to @-mention them.
read:sprint:jira-softwareRead sprint start dates to distinguish a real punt from routine sprint moves.
storage:appPersist the dependency layer, digest bookkeeping, and settings in Forge storage.

See the full Privacy Policy, Terms of Service, and Support SLA.

FAQ

Do I have to write any rules or Automation?

No. Tripwire works the moment it's installed, using sensible defaults. It watches the "blocks" links you already have — there are no per-project rules to build and it uses none of your Jira Automation quota, because it runs on Forge, not Automation.

Does Tripwire send anything to Slack or an external service?

No. Tripwire is "Runs on Atlassian" — it makes no external network calls. Alerts are comments on the dependent issue, delivered by Jira's own notifications. Your data never leaves Atlassian.

Which link types does it watch?

By default the standard Blocks / is blocked by link type. You can add or change the watched link types in Settings if your team models dependencies differently.

Does it work on Jira Standard / Free, without Advanced Roadmaps?

Yes — that's the point. Tripwire works on every Jira Cloud plan and needs no Premium features. The teams that Advanced Roadmaps leaves behind are exactly who it's for.

Will it spam my team during a big sprint reshuffle?

No. A 24-hour cooldown caps repeats per dependency, and when one person shifts many dependencies at once the alerts fold into a single summary on the digest issue. You can also mute any project with one click.

What's the "Dependency Digest" issue that appeared?

It's an issue Tripwire creates lazily per project (labelled tripwire-digest) to hold the weekly digest and any bulk-change summaries — so those never clutter your real work items. If you delete it, Tripwire recreates it when it next needs it.

Why didn't I get an alert for a change I made?

Tripwire is false-alert-averse. It stays quiet for good-news changes (a date moved earlier), changes below your threshold, changes on already-resolved blockers, issues nothing depends on, un-watched link types, muted projects, and anything ambiguous. The table under "Why an alert fired" lists every case.

What does it cost?

Tripwire is free for teams of up to 10 users, with simple per-user pricing above that. Billing is handled entirely by the Atlassian Marketplace.

Support

Questions, bugs, or feedback? Email support@outpostlabs.dev. We provide best-effort, asynchronous support — see the Support SLA for response targets.