Inspiration

Legal and compliance intake already runs in Jira, but statutes of limitation, response windows and notice deadlines live in spreadsheets and in people's heads. The trigger dates are on the ticket. The rules are not. A missed limitation date is the most expensive mistake a legal team can make, so I wanted the deadline to sit on the issue itself.

What it does

  • Rules per project. Each rule has a jurisdiction, matter type, trigger date, period and warning offsets. Rules are editable in Project settings and ship with labelled starter examples.
  • Automatic computation. Every created or updated issue is recomputed by a Forge trigger. Facts come from labels (matter:Personal-injury, jurisdiction:US-NY), mapped custom fields, or dates written in the description (Incident date: 2026-03-01). The earliest deadline becomes the issue due date.
  • Deadlines panel. Each issue shows its deadlines with a countdown, the trigger date and the rule that produced it, plus one-click recompute. A missing fact is flagged instead of guessed.
  • Docket Agent (Rovo). Answers "What is due this week?", "Which matters are at risk?", "When does the deadline run for this matter?" and "Why?" through four actions that read the same computed data.

How I built it

Forge end to end: jira:issuePanel and jira:projectSettingsPage in UI Kit, a trigger on issue created and updated, a rovo:agent with four action modules, and Forge functions that call the Jira REST API for search, issue properties and due dates. Rules and field mappings are stored with Forge key-value storage. No data leaves Atlassian.

Challenges I ran into

Rovo chat is not available on free developer sites, so the agent could not be tested until I moved to a Forge demo site. Extracting facts reliably from three different sources (labels, custom fields, free text) without guessing took several iterations, and so did keeping the panel and the agent reading exactly the same computed result.

Accomplishments that I'm proud of

The same rules engine handles personal injury limitation periods in four US states, a federal civil defense deadline, a GDPR data subject request, a CCPA request and a HIPAA breach notice. The agent explains its answer with the rule id and warning dates, and tells the user when a rule is only an example that counsel must confirm.

What I learned

How Rovo agents call Forge actions, how to model computed data as issue properties so the UI, the trigger and the agent share one source of truth, and how much a clear "missing fact" message matters compared with a silent blank.

What's next for Deadline Guard for Jira

Court holiday calendars, tolling and extension events, Jira Service Management request types, and a Confluence page of all open deadlines per team.

Rules shipped with the app are examples and a calculation aid, not legal advice.

Share this project:

Updates

Submission history