Hi Team,
Is there a way we can get a list of unused workflows, workflow schemes, Screens, screen schemes and delete them in JIRA cloud?
Thanks
If you're running Jira Cloud and you'd like to delete all the workflows that Jira is willing to allow you to delete, then consider running the following script in ScriptRunner:
// Get a list of the first N Workflows (appears that N is max of 50)
Map<String, Object> searchResult = get('/rest/api/3/workflow/search')
.queryString("maxResults", "200")
.asObject(Map)
.body
def w = (List<Map<String, Object>>) searchResult.values
// Iterate over all the Workflows; Attempt to delete everyone :eek:
w.each {
if (it.id.entityId != null) {
println "Attempting to delete: ${it.id.entityId} - ${it.id.name}"
def hr = delete('/rest/api/3/workflow/'+ it.id.entityId).asString()
println hr
}
}
If you'd like to delete all the unreferenced Workflow Schemes, try this snippet:
// Get a list of the first 200 Workflow Schemes
Map<String, Object> searchResult = get('/rest/api/3/workflowscheme')
.queryString("maxResults", "200")
.asObject(Map)
.body
def ws = (List<Map<String, Object>>) searchResult.values
// Iterate over all the Workflow Schemes
ws.each {
// Only want the Workflow Schemes without any mappings
if (it.issueTypeMappings.size() == 0) {
println "Deleting: ${it.id} - ${it.name}"
def hr = delete('/rest/api/3/workflowscheme/'+ it.id).asString()
println hr
}
}
I've posted these in my GitHub Repo for forking and updating goodness.
I hope this saves you a couple hundred clicks, hours of your life, and puts a little smile on your face when you are making thankless changes cold and alone in the depths of Jira. Please enjoy the hours this puts back in your life doing anything other than Jira Administration. You've earned it.
Hello Ash,
I hope you are having a nice day.
You can use the add-on Script Runner and run the following Script to delete all inactive workflows (Except the default):
import com.atlassian.jira.component.ComponentAccessor def workflowManager = ComponentAccessor.workflowManager def schemeManager = ComponentAccessor.workflowSchemeManager def sb = new StringBuffer()
workflowManager.workflows.each {
if(!it.systemWorkflow) {
def schemes = schemeManager.getSchemesForWorkflow(it)
if (schemes.size() == 0) {
sb.append("Deleting workflow: ${it.name}\n")
workflowManager.deleteWorkflow(it)
}
}
}
return sb.toString()
You can customize the Script above to delete the schemes you want too.
P.S: System default workflow should be assigned to some scheme, otherwise the script won't work.
For more information about it, please check the question below:
- How to bulk delete Inactive/Draft workflow
Let me know if this information helps/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Petter Gonçalves this is the error i see while i'm running the above code.
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script1.groovy: 1: unable to resolve class com.atlassian.jira.component.ComponentAccessor @ line 1, column 1. import com.atlassian.jira.component.ComponentAccessor ^ 1 error at com.adaptavist.sr.cloud.workflow.AbstractScript.parseScript(AbstractScript.groovy:51) at com.adaptavist.sr.cloud.workflow.AbstractScript.evaluate(AbstractScript.groovy:32) at com.adaptavist.sr.cloud.workflow.AbstractScript$evaluate$0.callCurrent(Unknown Source) at com.adaptavist.sr.cloud.workflow.AbstractScript$evaluate$0.callCurrent(Unknown Source) at com.adaptavist.sr.cloud.events.ScriptExecution.run(ScriptExecution.groovy:27) at ConsoleScriptExecution2_groovyProxy.run(Unknown Source)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the script, works perfectly.
Is there any script to delete unused Field Configuration Schemes, Field Configurations and Fields?
Also, Unused Issue Types Schemes and Issue Types.
Thanks in advance.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am also receiving the same error . Did any one has any other script for Jira Cloud?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I receive the same error. Anyone knows the reason why?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The reason I suspect this isn't working for you folks is you are trying to run a script in ScriptRunner that will only work in Jira Server, and you are using Jira Cloud. :-)
Please see my answer below (on the main thread) that provides a code block that works in Jira Cloud.
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.