Where is this group used in Jira Cloud? Every place to check before you delete a group

Jira Cloud · REST API v3 · Updated 28 August 2026 · Written by the developer of Group Audit for Jira; nothing in this guide needs the app.

Why this keeps coming up

Jira Cloud shows you where a project role is used, but not where a group is used. JRACLOUD-71967 has asked for that since 2019 and has about a thousand votes; Atlassian's last update (November 2024) said it would not be built in the following 12–18 months, and that window has passed. Atlassian's own Delete a group page says only: "Before you delete a group, check if the group is used to configure permissions in any of your apps" — and gives no way to do that check.

So before you delete or empty a group, you are on your own, and the damage from a wrong guess is quiet: people stop receiving notifications, a filter or dashboard that was shared only with that group disappears for everyone else, issues behind a security level become invisible, a workflow transition starts failing its condition, or new users stop getting product access because the group was a default group. None of that throws an error.

Where a group can be used in Jira Cloud

Inside Jira, a group can sit in any of these places:

  1. Permission schemes (as a permission holder), which reach every project using the scheme
  2. Project roles — as a role actor per project, and as a default actor that gets added to every future project
  3. Notification schemes (as a recipient)
  4. Issue security levels
  5. Filters — shared with the group, editable by the group, referenced in JQL via membersOf("group"), or with a subscription that mails the group
  6. Dashboards — shared with or editable by the group
  7. Product access — application-role groups and the default group for new users (this lives in admin.atlassian.com, not in Jira settings)
  8. Global permissions (Jira settings → System → Global permissions)
  9. Workflow conditions and validators ("user is in group"), including conditions provided by apps such as ScriptRunner or JSU
  10. Automation rule conditions
  11. Board administrators, comment and worklog visibility restrictions, group-picker custom fields on issues

And outside Jira: Confluence space permissions and page restrictions, and other products in the same organization. A group that looks unused in Jira can still be load-bearing elsewhere.

What the UI gives you

Object by object, yes; per group, no. You can open each permission scheme, each notification scheme, each project's role page and look for the group. For a handful of projects that is fine. For fifty, it is not, and filters and dashboards are not browsable that way at all.

One trick a commenter on the ticket describes, and which works for roles and permissions: create a test account, put it in the group you want to audit and in no other group, then open that user in User management and view its Jira project roles. Everything it shows came through the group. It does not show filters, dashboards, notifications or subscriptions.

What the REST API gives you

If you script it, these are the calls (Jira Cloud REST API v3, run as a Jira admin with an API token). Everything is paginated (startAt / maxResults), and a large site will take hundreds to thousands of requests — one commenter on the ticket reports 2,000+ requests and ten minutes for about 1,500 groups — so expect HTTP 429 and add backoff.

PlaceCallWhat to look for
Permission schemesGET /rest/api/3/permissionscheme?expand=permissions, then GET /rest/api/3/project/{key}/permissionscheme per projectpermissions[].holder.type == "group"; holder.parameter is the group name, holder.value the group ID
Project rolesGET /rest/api/3/role, then GET /rest/api/3/project/{id}/role/{roleId} per project; default actors: GET /rest/api/3/role/{id}/actorsactors with type atlassian-group-role-actor
Notification schemesGET /rest/api/3/notificationscheme?expand=all; projects per scheme: GET /rest/api/3/notificationscheme/project?notificationSchemeId=…recipients with notificationType == "Group"
Issue securityGET /rest/api/3/issuesecurityschemes, then GET /rest/api/3/issuesecurityschemes/level/member?schemeId=…&expand=groupreturns members for company-managed schemes only; team-managed projects do not expose their security members here
FiltersGET /rest/api/3/filter/search?expand=sharePermissions,editPermissions,owner,jql,subscriptions&overrideSharePermissions=trueoverrideSharePermissions is the important bit: without it you only see filters shared with you. Check sharePermissions[] and editPermissions[] for type group, search jql for membersOf, and look at subscriptions[]. Subscriptions created by other users may still not be visible to you.
DashboardsGET /rest/api/3/dashboard/search?groupId=…&expand=sharePermissions,editPermissionsno admin override here; you only see dashboards visible to your account. If you are not in the group, you will miss dashboards shared only with it.
Product accessGET /rest/api/3/applicationrolegroups and defaultGroups per application role
MembersGET /rest/api/3/group/member?groupId=…&includeInactiveUsers=truehow many people, and how many deactivated accounts, a change affects
Workflow conditionsGET /rest/api/3/workflows/search?expand=values.transitions (the older /workflow/search?expand=transitions.rules is deprecated)each transition carries its conditions as rules with a ruleKey and parameters; group conditions carry the group in the parameters. App-provided conditions (ScriptRunner, JSU) have their own rule keys and formats.
Automationno API that searches rules by groupwhat works in bulk: Jira settings → System → Automation rules → … → Export rules, one JSON file with all global and project rules; search it for the group name
Global permissionsno public API that returns the granteesthe Global permissions page in Jira settings is the only place to check, by hand

A minimal example for the filter call, which is the one most scripts forget:

curl -s -u you@example.com:API_TOKEN \
  "https://your-site.atlassian.net/rest/api/3/filter/search?expand=sharePermissions,editPermissions,jql,subscriptions&overrideSharePermissions=true&maxResults=100&startAt=0"

Before you delete a group, a short checklist

Where an app fits, and where it does not

I built Group Audit for Jira because I got tired of the script. It is a read-only admin page that runs items 1–7 of the list above for one group and exports the result as CSV with a completeness status per row; it does not cover 8–11 or anything outside Jira, and every report says so. If you are happy with your script, keep it — the calls above are exactly what it runs. If you want to try it, it is on the Atlassian Marketplace, free for sites up to 10 users.

If you have a cleaner way to get global permission grantees or automation conditions than the ones above, write to kontakt@arbeitstyp.de; I will update the article.