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.
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.