Is there a way to find filter dependencies without having to search in the Database so that I can safely delete a filter?
i.e. I want to ensure
I use this code to get all subscriptions via Script console of ScriptRunner:
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.subscription.FilterSubscription import com.atlassian.jira.issue.subscription.SubscriptionManager StringBuilder result = new StringBuilder(); SubscriptionManager subscriptionManager = ComponentAccessor.getSubscriptionManager(); for(FilterSubscription subscription: subscriptionManager.getAllFilterSubscriptions()){ result.append("{ " + subscription.getLastRunTime().toString() + " / " + subscription.getFilterId() + " }") } return result.toString()
And this one to get all filters:
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.search.SearchRequest; import com.atlassian.jira.issue.search.SearchRequestManager; import com.atlassian.jira.sharing.SharePermission; import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.user.util.UserUtil; ArrayList<String> Filters = new ArrayList<String>(); UserUtil userUtil = ComponentAccessor.getUserUtil(); SearchRequestManager searchRequestManager = ComponentAccessor.getComponent(SearchRequestManager.class); ArrayList<SearchRequest> FilterList; String CurFilter = ""; boolean HasGlobal; String CurPerm; for(ApplicationUser CurUser: (ArrayList<ApplicationUser>) userUtil.getAllApplicationUsers()) { FilterList = (ArrayList<SearchRequest>) searchRequestManager.getAllOwnedSearchRequests(CurUser); for (SearchRequest Search: FilterList) { CurFilter = Search.getName() + "#" + Search.getQuery() + "/" + Search.getOwnerUserName() + "#"; HasGlobal = false; for (SharePermission Perm: Search.getPermissions().getPermissionSet()) { CurPerm = Perm.getType().get(); CurFilter += CurPerm + "/" + Perm.getParam1() + "/" + Perm.getParam2() + "#"; if (CurPerm == "global") HasGlobal = true; } CurFilter += " \n" if (!Filters.contains(CurFilter)) if (HasGlobal) { Filters.add(CurFilter); } } } String Result = ""; for (String Filter: Filters) { Result += Filter + "\n@"; } return Result
Try to modify these ones for your needs
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.