Hi,
I have already a behavior set-up to make some specific fields mandatory or not depending on the resolution value from the resolve screen.
I want to elaborate the behavior script a bit and add an option that will not make a field mandatory if the project is using a specific workflow.
How can i get the workflow name in the script?
Thanks
import com.atlassian.jira.ComponentManager; import com.atlassian.jira.workflow.WorkflowManager; import com.atlassian.jira.workflow.JiraWorkflow; import com.atlassian.jira.issue.Issue; WorkflowManager workflowManager = ComponentManager.getInstance().getWorkflowManager(); JiraWorkflow workflow = workflowManager.getWorkflow(issue); String workflowName = workflow.getName();
This assumes there is a standard issue object, such as in a validator or condition; if not you'll have to create the issue explicitly.
Thank you for your answers. Both of them works. I am using the 1st one since I found it more easier to integrate in my existing code
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If you use a condition in a worfklow transmission I would also use @Jeremy Gaudet solution, with a small modification, if I may, import com.atlassian.jira.component.ComponentAccessor worfklowManager = ComponentAccessor.getWorkflowManager() In case you wanted to use a [behaviour|https://scriptrunner.adaptavist.com/4.2.0.2/jira/behaviours-overview.html] Jeremy's script wouldn't work cause as he already correctly mentioned: "This assumes there is a standard issue object, such as in a validator or condition; if not you'll have to create the issue explicitly". Kind regards Thanos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Haiducu
In the behaviour script try this
import com.atlassian.jira.component.ComponentAccessor def context = getIssueContext() def projectId = context.getProjectId() def issueTypeId = context.getIssueTypeId() def workflowManager = ComponentAccessor.getWorkflowManager() // use the String workflowName as you wish def workflowName = workflowManager.getWorkflow(projectId, issueTypeId).getName() log.debug("Workflow name ${workflowName}")
Using the getIssueContext() you get an issueContext and from the workflowManager you can get a JiraWorkflow using the projectId and the issueTypeId.
Hope that helps.
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.