how to use script runner to switch project workflow scheme

how to use groovy code to change the workflow scheme for a JIRA project?

The WorkflowSchemeManager doesn't provide a method to remove or add workflow scheme from JIRA project

3 answers

1 vote
Alexey Matveev Community Champion Nov 07, 2017

Hello,

Suppose, you want to set workflow scheme from the template project to another project. The code would be something like that:

Project project = ComponentAccessor.getProjectManager().getProjectObjByKey("projectKey");

Project templateProject = ComponentAccessor.getProjectManager().getProjectObjByKey("projectKey");

ComponentAccessor.getWorkflowSchemeManager().addSchemeToProject(project, ComponentAccessor.getWorkflowSchemeManager().getSchemeFor(templateProject));
0 vote
Steven Behnke Community Champion Nov 07, 2017

WorkflowSchemeManager extends SchemeManager. You have a addSchemeToProject() method.

hi Alex,

I want to copy a workflow scheme from a template project and assign that copied workflow scheme to a new project. i tried your code, but it doesn't work. It remove the workflow scheme from both template and target project. When i go to admin page edit the template workflow scheme, the log shows the error below. 

2017-11-21 04:04:51,206 http-nio-8080-exec-21 ERROR admin 244x10835x1 wllipk 10.209.96.235 /rest/globalconfig/latest/workflowschemeeditor/11401 [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: Passed List had more than one value.
java.lang.IllegalArgumentException: Passed List had more than one value.
at org.ofbiz.core.entity.EntityUtil.getOnly(EntityUtil.java:62)
at com.atlassian.jira.workflow.DefaultWorkflowSchemeManager.getSchemeForProject(DefaultWorkflowSchemeManager.java:364)
at com.atlassian.jira.workflow.DefaultWorkflowSchemeManager.getSchemeForProject(DefaultWorkflowSchemeManager.java:358)
at com.atlassian.jira.workflow.DefaultWorkflowSchemeManager.getWorkflowMap(DefaultWorkflowSchemeManager.java:315)
at sun.reflect.GeneratedMethodAccessor934.invoke(Unknown Source)
... 1 filtered

,

 

Regards

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published 47m ago in Jira Software

How large do you think Jira Software can grow?

Hi Atlassian Community! My name is Shana, and I’m on the Jira Software team. One of the many reasons this Community exists is to connect you to others on similar product journeys or with comparabl...

39 views 3 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you