Community Announcements have moved! To stay up to date, please join the new Community Announcements group today. Learn more
×
For years, one of my recurring manual tasks was to assign newly created Jira issues to the right Epic.
It sounds simple, but when you have multiple Epics with overlapping scopes, manually choosing the most relevant one quickly becomes tedious.
On average, this took me several minutes per week — minutes that could be better spent elsewhere.
With the release of Rovo Agents in Atlassian, I wondered:
Could an AI agent analyze the context of a ticket and instantly choose the most relevant Epic for me?
My goal was to:
Analyze the new work item’s summary and description
Find the most relevant Epic in the same Jira project, excluding any that are already “Done”
Automatically set that Epic as the issue’s parent
I started with this simple prompt:
Given a work item, analyze its context and find the most relevant epic from the same Jira project that matches the same topic of the work item or have similarities. The epic must not be in a “Done” or any final status category. Return only the epic key with no additional text, explanation, or formatting.
It worked… sort of.
The agent kept returning the same Epic key every time, regardless of the actual ticket content.
Lesson learned: AI agents need explicit and detailed instructions to avoid “lazy” shortcuts.
I refined the instructions, specifying:
How to determine “relevance” (semantic similarity, same topic, matching objectives)
The importance of excluding closed Epics
That it must be from the same project
That if no relevant Epic is found, it should return an empty string
The improved prompt finally gave varied and contextually accurate results.
You are given a work item (with its key, summary, and description). Your task is to identify exactly one epic from the same Jira project that is most relevant to this work item.
Relevance criteria:
1. The epic must address the same topic, goal, or problem domain described in the work item, or be the most semantically similar based on its title and description.
2. Prioritize epics whose description and scope closely match the key objectives, context, or terminology used in the work item.
3. Ignore epics that are in a status belonging to the “Done” or any final status category.
4. If multiple epics are equally relevant, choose the one with the highest direct thematic match based on the actual content.
Output rules:
- Return only the epic key (for example, ATSUP-17)
- Do not return any explanations, formatting, punctuation, or extra text.
- If no matching epic exists that meets the criteria, return an empty string.
Input:
Work item key: {{workItem.key}}
Work item summary: {{workItem.summary}}
Work item description: {{workItem.description}}
Output:
<EPIC_KEY>
Once Rovo was returning the right Epic keys, I wanted full automation:
Trigger: When a work item is created
Action 1: Call the Rovo agent with the new issue’s key, summary, and description
Action 2: Take the Epic key returned by Rovo and set it as the issue’s parent
Because “Epic Link” is deprecated in modern Jira, I used Advanced Field Editing in Automation with:
{
"fields": {
"parent": {
"key": "{{agentResponse}}"
}
}
}
This allows dynamic assignment using the AI’s output.
Now, every time a work item is created:
Rovo instantly analyzes it
Chooses the most relevant Epic
Jira Automation assigns it automatically
I still supervise the assignments, but in most cases they’re spot on.
This saves me a few minutes each week and removes a repetitive manual step.
In the pre-AI era, this would have been nearly impossible to fully automate without complex scripts or custom plugins.
Now, with Rovo + Jira Automation, it’s a no-code solution that anyone can implement.
Be very explicit in your Rovo prompt — ambiguity leads to repetitive results
Use Advanced Field Editing for dynamic parent assignment in Jira Cloud
Always filter to the same project to avoid cross-project assignment errors
Start small, iterate, and test often
#AtlassianChampions #Rovo #JiraAutomation #AIinJira
Raul Peláez Mendoza
0 comments