deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Rovo agent built on Atlassian's Teamwork Graph API answers team workload questions in Jira

A developer has published a full working demo wiring Atlassian's Teamwork Graph API into a Rovo agent that answers who is working on what inside Jira, as the API moves from EAP to Preview.

Rovo agent built on Atlassian's Teamwork Graph API answers team workload questions in Jira

A developer has published a complete working example of Atlassian's Teamwork Graph API driving a Rovo agent inside Jira. According to a post on dev.to, asking the agent "what is my team working on?" makes it read every member of an Atlassian team and their assigned work items from the graph, with Rovo then composing the reply. On the author's test site it answered all four test questions correctly, and each action ran in 0.8 to 2.6 seconds.

What the agent does

The Forge app exposes a single Rovo agent with three actions, all of them GET requests. One lists the work items assigned to a person along with their status and the Atlassian teams that person belongs to. Another maps the people around a single work item: assignee, reporter, recent commenters, the assignee's teams and any linked goals. The third answers the team-workload question. The whole thing is 234 lines of JavaScript, an 81-line manifest and an 11-line prompt, and the author prints every file in the post because the repository is not public.

The GET-only design is deliberate. The post notes that, per Atlassian's action documentation, agents triggered by automation rules will not call CREATE, UPDATE, DELETE or TRIGGER actions, so read-only actions keep the agent usable in more places.

How the Teamwork Graph API works

Teamwork Graph is Atlassian's connected model of what lives on a site and across an organisation: users, teams, Jira work items, comments, goals, Confluence pages and whatever third-party connectors add. Apps reach it through GraphQL at a per-site endpoint. Since 15 October 2026 it has been in Preview, which the author points out makes older references to an Early Access Program out of date, and even some Atlassian page titles still say EAP.

Apps query the graph through "curated" queries: ready-made, typed GraphQL operations that Atlassian defines, such as atlassianUserAssignedJiraWorkItems. They need no registration and page with first and after arguments. Permissions now use one scope per object type, for example read:graph:issue:jira or read:graph:team:atlassian, while the older broad scopes read:graph:jira and read:graph:confluence are being retired.

Two details from Atlassian's curated queries page, as cited in the post, shaped the design. Every row returned is permission-filtered for the authenticated user, so a query only ever returns what that user could already see, which is why the agent runs as the person chatting. And the page-size cap of 25 throws an error when exceeded, so the client always pages. Atlassian also promises a minimum one-month deprecation notice before breaking changes, and the full schema can be downloaded from the site endpoint; the author's copy was 172 KB.

Prerequisites and rough edges

Running it requires a Jira Cloud site on a Standard, Premium or Enterprise plan with Rovo enabled. Rovo is paid-only, so a free site may not have it, but a Standard or Premium trial includes it. You also need organisation admin rights to install the app and approve the graph scopes, the Forge CLI (the author used 14.1.0; 15.0.0 is current and requires Node.js 22.23.4 or newer) and @forge/api 8.4.0. The author says most of the build time went into small surprises, ten of which are collected as gotchas, including an error that arrives as an HTTP 200 and a rate limit that returns an empty list rather than a visible failure.

The Codegeist angle

The demo was written to learn the APIs ahead of Codegeist 2026, Atlassian's hackathon, which has a bonus prize for Teamwork Graph apps. Submissions opened 27 October 2026 and close 22 December 2026, with winners due around 15 February 2027. Each of the three categories pays $15,000 for first place, and four bonus prizes of $1,500 each are awarded to six projects apiece. An app like this one qualifies for two bonus categories, Best Agents and Best Teamwork Graph integration, but a single entry can win only one of them.

Why it matters

Preview status means anyone can build against Teamwork Graph today with the same support as a generally available feature and a guaranteed deprecation window for breaking changes. The demo shows the barrier is low: a working graph-backed assistant fits in a few hundred lines. Just as important, the permission model, with every row filtered to the asking user, is the pattern that lets AI agents read company data without becoming a privilege-escalation hole. And for anyone entering Codegeist, the post doubles as a concrete map of a qualifying app and the quirks to expect along the way.

  • #atlassian
  • #jira
  • #rovo
  • #graphql
  • #forge