/
Clear Duplicates
Clear Duplicates
Clear Duplicates
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.security.JiraAuthenticationContext
import com.atlassian.plugin.PluginAccessor
import com.atlassian.jira.user.ApplicationUser
// get an issue
IssueManager issueManager = ComponentAccessor.getOSGiComponentInstanceOfType(IssueManager.class);
Issue issue = issueManager.getIssueObject("TEST-1");
// find TGE custom fields
PluginAccessor pluginAccessor = ComponentAccessor.getPluginAccessor();
Class tgeConfigManagerClass = pluginAccessor.getClassLoader().findClass("com.idalko.jira.plugins.igrid.api.config.grid.TGEGridConfigManager");
def tgeConfigManager = ComponentAccessor.getOSGiComponentInstanceOfType(tgeConfigManagerClass);
List<Long> tgeCustomFieldIds = tgeConfigManager.getGridCustomFieldIds();
// get current user
JiraAuthenticationContext jiraAuthenticationContext = ComponentAccessor.getOSGiComponentInstanceOfType(JiraAuthenticationContext.class);
Object userObject = jiraAuthenticationContext.getLoggedInUser();
User user = userObject instanceof ApplicationUser ? ((ApplicationUser) userObject).getDirectoryUser() : (User) userObject;
// clear duplicates in all grids
Class dataManagerClass = pluginAccessor.getClassLoader().findClass("com.idalko.jira.plugins.igrid.api.data.TGEGridTableDataManager");
def tgeGridDataManager = ComponentAccessor.getOSGiComponentInstanceOfType(dataManagerClass);
StringBuilder result = new StringBuilder();
for (Long tgeCustomFieldId : tgeCustomFieldIds) {
try {
tgeGridDataManager.clearDuplicates(issue.getId(), tgeCustomFieldId, user);
result.append("All Duplicates in grid ID=" + tgeCustomFieldId + " are cleared.\n");
} catch (Exception e) {
result.append("Grid ID=" + tgeCustomFieldId + " duplicates cannot be cleared: " + e.getMessage() + "\n");
}
}
println(result.toString());
return result.toString();
, multiple selections available,
Related content
Version 1.21.7
More like this
Version 1.21.10
Version 1.21.10
More like this
Version 1.21.3
More like this
datasource.names
datasource.names
More like this
Gathering data from the customer portal requests
Gathering data from the customer portal requests
More like this
Query Jira values to add dynamic grid data
Query Jira values to add dynamic grid data
More like this