Skip to content

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.

Paste it into your assistant. It tells you what it will send or change before it runs live.

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

  1. Every weekday at 7 am, ClickRuntime looks for open Jira issues with no assignee, no estimate or no priority.

  2. It groups the issues by what is missing.

  3. 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

RunsOn a schedule
Find open issues missing key detailstoday, 9:00Succeeded
Email · ABC backlog: 23 gapsNo assignee (9) ABC-402 Add audit log export No estimate (11) ABC-377 Rework onboarding emails

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
backlog_hygiene_report.pyexample
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?
It checks assignee, estimate and priority, as described, using JQL conditions for empty fields. If your team also needs sprint, component, fix version or a custom field filled in, ask for those to be added to the list.
Can it limit the report to the current project or board?
Yes. The JQL can be scoped to a single project, board, component or a filter you already use, so the email covers only what you are responsible for. Tell your AI assistant the project key or filter name.
Does it include issues that are already done?
No. The searches exclude resolved issues, since fields on finished work no longer matter for planning. If you want historical data to be corrected as well, for reporting purposes, you can ask for a separate list that includes them.
What permissions does it need?
read. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (on a schedule). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

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.