I am attempting to run a script in Power Groovy - Script Launcher that will Delete Screen Schemes not used by any Issue Type Screen Schemes:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.screen.FieldScreenSchemeManager
def fssm = ComponentAccessor.getComponent(FieldScreenSchemeManager.class)
def itssm = ComponentAccessor.issueTypeScreenSchemeManager
def sb = new StringBuffer()
sb.append("Deleted screen schemes with no associated issue type screen schemes:\n")
fssm.fieldScreenSchemes.each { fss ->
try {
def itssCollection = itssm.getIssueTypeScreenSchemes(fss);
// find field screen schemes that are still associated with deleted issues type screen schemes
def allDeleted = true;
itssCollection.each { itss ->
if(itss != null) {
allDeleted = false;
return;
}
}
//remove field screen schemes with no (valid) associated issue type screen schemes
if(itssCollection.size() == 0 || allDeleted == true) {
//remove association to any screens
fssm.removeFieldSchemeItems(fss);
//remove field screen scheme
fssm.removeFieldScreenScheme(fss);
sb.append("${fss.name}\n");
}
}
catch(Exception e) {
//noop
sb.append("Error: " + e + "\n");
}
}
return "<pre>" + sb.toString() + "<pre>"
When attempting to run this script, I am getting the following error:
startup failed: Script1.groovy: 2: unable to resolve class com.atlassian.jira.issue.fields.screen.FieldScreenSchemeManager @ line 2, column 1. import com.atlassian.jira.issue.fields.screen.FieldScreenSchemeManager ^ 1 error
Looking into all the documentation that I can, I find that FieldSCreenSchemeManager is listed as an interface in the support documentation and is not deprecated anywhere that I can tell. Even in the latest 9.0.0 Jira documentation:
Package com.atlassian.jira.issue.fields.screen documentation has an interface for FieldScreenSchemeManager:
ComponentAccessor documentation also has FieldScreenSchemeManager:
So my question is, why is this not able to resolve this class/interface?
Hm, strange indeed.
Copy pasting your snippet and adding the getter both resolve the same object on 8.20.8:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.screen.FieldScreenSchemeManager
def fssm = ComponentAccessor.getComponent(FieldScreenSchemeManager.class)
def fssm2 = ComponentAccessor.getFieldScreenSchemeManager()
return fssm.toString() + "<br>" + fssm2.toString()
Result
com.atlassian.jira.issue.fields.screen.DefaultFieldScreenSchemeManager@1ec1cd1
com.atlassian.jira.issue.fields.screen.DefaultFieldScreenSchemeManager@1ec1cd1
Is this something persisting even after restarting Jira, and which version are you on?
Hello Radek,
We are currently on Version 8.18.2. I am not an admin user on my device nor do I have access to the server that our Jira instance is hosted on, if you are referring to starting/stopping the whole Jira instance, so that isn't something I have tried yet...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Radek,
We are currently on Version 8.18.2. I am not an admin user on my device nor do I have access to the server that our Jira instance is hosted on, if you are referring to starting/stopping the whole Jira instance, so that isn't something I have tried yet...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.