Inspiration
Go-live calls are made from memory in a meeting. A Highest bug with no owner hides inside a version, the release date passed last week and nobody moved it, and an AI summary that counts issues by itself can be confidently wrong. We wanted the same answer every time for the same issues.
What it does
Ask Rovo "Can our next release go live?" or "What is blocking version 1.0?". The Release Gate agent calls one action, check-release, which reads the version and its issues from Jira and runs six fixed checks: no open blockers (Highest/Blocker/Critical) and not overdue (NO-GO), no open bugs, open work has an owner, done issues have a resolution, the version has a release date (risks). The answer is GO, GO WITH RISKS or NO-GO, a table of failed checks with the issue keys as evidence, the smallest action that turns each check green, and totals (open, done, days left).
How we built it
Forge app with a rovo:agent module and a rovo action backed by a Forge function (Node). The function uses the Jira REST API through api.asUser() with only read:jira-work. The rules are a pure module with unit tests. The agent prompt forbids stating any count, key or date that is not in the action result, so the model explains and never computes.
Challenges we ran into
Status names are not portable: our demo site was created in Portuguese, so "Done" came back as "Concluído". The rules read the status category (new, indeterminate, done) instead of names, so they work on any workflow and language. "Overdue" also needed care: a passed release date only blocks while work is still open, and a test covers both sides.
Accomplishments that we're proud of
Same issues in, same verdict out. On the demo site, version 1.0 is GO WITH RISKS (SHOP-3 open bug, SHOP-4 without owner) and 1.1 is NO-GO (SHOP-5 Highest bug without owner, release date passed), and a test checks the seeded plan gives exactly those verdicts.
What we learned
Rovo agents are best when the action does the deciding and the model does the explaining.
What's next for Release Gate
Configurable rules per project, a Confluence release checklist page, and a Jira automation that posts the verdict to the version on demand.
Log in or sign up for Devpost to join the conversation.