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