On a schedule
Find open issues missing key details
Each morning you get a list of open issues with no assignee, estimate or priority.
- Runs
- On a schedule
- Apps
- Jira
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every weekday at 7am, email me open issues in project ABC that have no assignee, no estimate or no priority, grouped by what's missing.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A product owner opens the Jira backlog before sprint planning and discovers that forty issues have no estimate, a dozen have no assignee, and several have no priority. Planning stalls while the team fills in fields, or worse, items are pulled into the sprint without estimates and the sprint forecast turns out to be fiction. Missing fields accumulate gradually, and nobody owns the cleanup. The result is a planning meeting that starts late and ends unsure.
Each morning, ClickRuntime runs JQL searches for issues missing an assignee, an estimate or a priority, combines the results, and emails you a list grouped by the kind of gap. You can fix the worst of them in minutes while the team is still arriving.
Scrum masters, product owners and project managers use it to keep the backlog ready for planning.
What you get out of it
Sprint planning runs smoothly
With estimates and priorities already filled in, the team can commit to work in a single meeting. Nobody has to stop and debate what an item is worth while the clock runs.
Forecasts are based on real estimates
A sprint velocity calculated from issues with no estimates is meaningless. Daily visibility of missing estimates keeps the data complete, so commitments to stakeholders rest on numbers. Planning with honest numbers also protects the team from being blamed for missed commitments.
Unowned work is found
Issues with no assignee are the ones that drift. Seeing them listed every morning pushes someone to take ownership or close them, which stops forgotten tickets from lingering for months.
Small gaps are fixed before they pile up
Five missing fields are a two-minute job. Two hundred are a project that nobody wants. A daily list keeps the backlog tidy by catching gaps when they are small. A short daily list is far less discouraging than a quarterly cleanup that nobody volunteers for.
Reporters learn to fill in tickets
Seeing who creates tickets without the needed fields gives you a chance to coach them. Over time, the quality of incoming issues improves, and the daily list gets shorter. That conversation is more effective when it uses specific examples from this week.
How it works
What happens, step by step
Every weekday at 7 am, ClickRuntime looks for open Jira issues with no assignee, no estimate or no priority.
It groups the issues by what is missing.
You get one email with each group and its issues, plus the total number of gaps.
Before it runs live
- Connect Jira
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Jira steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify
JIRA = "https://api.atlassian.com/ex/jira/your-cloud-id"
def jira(method, path, **kw):
resp = http.request(method, JIRA + path, headers={
"Authorization": f"Bearer {credentials.connection('jira', 'work')}", "Accept": "application/json"}, **kw)
resp.raise_for_status()
return resp.json() if resp.content else None
def search(jql, fields, limit=100):
return jira("POST", "/rest/api/3/search/jql", json={"jql": jql, "fields": fields, "maxResults": limit})["issues"]
CHECKS = {
"No assignee": "assignee is EMPTY",
"No estimate": "originalEstimate is EMPTY",
"No priority": "priority is EMPTY",
}
@on_trigger
def run(event):
sections, total = [], 0
for label, clause in CHECKS.items():
issues = search(f"project = ABC AND statusCategory != Done AND {clause} ORDER BY created", ["summary"], 100)
total += len(issues)
if issues:
sections.append(f"{label} ({len(issues)})\n" + "\n".join(f" {i['key']} {i['fields']['summary']}" for i in issues))
if sections:
notify.email_me(f"ABC backlog: {total} gaps", "\n\n".join(sections))
return {"gaps": total}FAQ
Common questions
Which fields does it check?
Can it limit the report to the current project or board?
Does it include issues that are already done?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Track created vs resolved issues each week
Each Monday you see how many issues were created and resolved last week, and how that compares with the week before.
See how it worksFind issues stuck in progress
Each morning you see issues that have sat In Progress for too long, grouped by assignee.
See how it worksCatch issues that nobody owns
Twice a day you get a list of open issues that have been unassigned for more than a few hours.
See how it worksKeep exploring
Set up “Find open issues missing key details” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.