Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

What is best practice for cleaning up filters and dashboards

Julie Beltz
February 18, 2026

Our instance has over 2000 of each.  What do other admin do to try and clean up ones that aren't used, etc?  Or are there suggested ways to keep it from getting this bad?  Our users saw they could create both on their own and seem to have gotten carried away considering the # of users we have.

Another issue has anyone found away to always have an admin group added/included as an editor?

1 answer

0 votes
Susan Waldrip
Community Champion
February 18, 2026

Hi @Julie Beltz , welcome to the Community! I'm sure you'll get several great suggestions to your question, but one thing you can do is communicate to ALL your users to please review their filters and delete the ones they don't use BY 'X' DATE. Also add an announcement in the announcement banner that all filters not used in the last <year/whatever timeframe> will be deleted unless they contact you with the filter name(s) to keep. 

I also asked Rovo, it was too long an answer to fit here but it had some good suggestions and links to documentation that might help. Here are some excerpts:

Prompt: Rovo, how can I identify JSM filters that haven’t been used in the last year?

Rovo's (partial) Answer:

You can’t see “last used” for filters directly in the UI, but you can get very close with a combination of REST API + a bit of scripting. Here are three options, from “quick and dirty” to “proper report.”


1. Admin‑level overview via REST (no add‑ons)

Jira Cloud exposes filters via REST, but it does not store “last viewed” as a public field. The practical workaround is:

  1. Pull all filters.

  2. Cross‑check which are referenced by:

    • Boards

    • Dashboards

    • Subscriptions / shared items

  3. Treat filters that are:

    • Not used by any board/dash,

    • Not favorited,

    • And perhaps owned by inactive users
      as candidates for cleanup.

List filters

Use the filter search API (as in this KB pattern:
https://support.atlassian.com/jira/kb/find-owners-of-deleted-filters-in-jira-cloud/

GET /rest/api/3/filter/search?maxResults=100&startAt=0&expand=owner,subscriptions

You’ll need to page through (bump startAt until you pass total).

Data points to keep:

  • id

  • name

  • owner.displayName

  • favourite / favouritedCount

  • subscriptions (if present)

  • viewUrl / searchUrl

Export all of that to CSV (the Atlassian example script in the KB above is a good template—just change the filter condition from "Former user" to collecting all filters).


2. Heuristic for “unused in the last year”

Since we don’t have “last viewed”:

A. Find obviously safe candidates
Look for filters that meet all of these:

  • Not the filter for any board

  • Not used on any dashboard gadget

  • favouritedCount = 0

  • No email subscriptions

  • Owner is inactive or “Former user” (optional, but a strong cleanup signal)

You’ll need two more REST checks:

Dashboards using the filter

For classic gadgets, dashboards don’t always expose the filter id cleanly via REST; a common admin approach is:

  • Export dashboards via REST:
    GET /rest/api/3/dashboard?maxResults=50&startAt=0

  • For each dashboard, pull gadgets:
    GET /rest/api/3/dashboard/{dashboardId}/gadget

Filter gadgets that contain filterId or jql configuration pointing at your filters.

This is more work, but you can also use a text search across an exported dashboard JSON bundle.

3. Practical, low‑effort cleanup flow

Given your environment and that you’re in Jira Cloud:

  1. Export all filters via REST (as per the KB script) into CSV.

  2. Add columns in Excel:

    • UsedByBoard (Y/N)

    • UsedByDashboard (Y/N)

    • HasSubscriptions (Y/N)

    • FavouritedCount

    • OwnerActive (Y/N – you can cross‑check against your current user list).

  3. Mark as “Safe candidate for deletion” when:

    • UsedByBoard = N

    • UsedByDashboard = N

    • HasSubscriptions = N

    • FavouritedCount = 0

  4. Optionally:

    • Email owners of borderline filters (e.g., old but still favorited) and give them a date to respond before deletion.

The example script in Atlassian’s article is here and can be adapted:
Find owners of deleted filters in Jira cloud | Jira and Jira Service Management | Atlassian Support


Jira Cloud already groups filters owned by deactivated/deleted users:

  1. Go to ⚙️ Settings → System → Shared items → Filters.

  2. In the Owner column, look for:

    • “Former user” – this is what Jira shows when the owner account was deleted.

    • Owners you know have been deactivated in User management.

  3. For any such filters, you can:

    • Change owner or

    • Delete filter
      via the menu.

Suggested path for your hygiene project

For your JSM cleanup / “unused filters in last year” work, I’d:

  1. Run the “Former user” script from
    Find owners of deleted filters in Jira cloud | Jira and Jira Service Management | Atlassian Support

  2. Build a second export of all filters + all users and join on accountId to mark:

    • OwnerStatus = Active / Inactive / Former user

  3. Use that OwnerStatus to prioritize:

    • Filters owned by Former user / inactive are top candidates to:

      • Reassign to a service account, and/or

      • Delete if they’re also unused.

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
ENTERPRISE
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events