How Can I Edit Status Properties with Behaviors and Scriptrunner?

Ryan L July 10, 2019

Hello

We use one Workflow for different tiers of support, with a status to separate from the Triage team to the Level 2 team. What we want to do is make it so level 2 agents cannot assign tickets while it's sitting in Triage and Triage agents cannot assign tickets if it's not in the Triage Status. 

With the Behaviors plugin I can make the assignee field read only to the required team, but this will only work on the Button and not the field on the view issue screen, if i remove Assignee from the Edit screen the option "Assign to Me" is still functional. I can remove this by editing the Status properties to limit to a group. However i would not like to go this route as i feel it's too granular and difficult to manage in the long run. 

Is there a way i can combine the two and control the Status Properties via Scriptrunner and the Behaviors plugin?

 

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Alejandro Suárez - TecnoFor
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
July 12, 2019

Hi @Ryan L

If the user have the permission in the scheme, you cant remove the "Assign to me button" eaither with JavaScript or Behaviours, you cant just remove it.

You have to play with the status properties to do this change, and limit it to a group/user/role in the certain statuses.

Hope it helps.

Regards

Ryan L July 12, 2019

Hello, 

 

Right now i can limit using the Status properties by going to each status, i know this. But is there a way i can set the status property through scriptrunner?

Alejandro Suárez - TecnoFor
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
July 12, 2019

Here you go:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.StatusManager
import com.atlassian.jira.workflow.WorkflowManager

StatusManager statusManager = ComponentAccessor.getComponent(StatusManager)
WorkflowManager workflowManager = ComponentAccessor.getWorkflowManager()

String statusId = "10201" //Change with the status you want to add the property
String workflowName = "XXXX" //Change with your workflow name

Map currentAttributes = workflowManager.getWorkflow(workflowName).getLinkedStep(statusManager.getStatus(statusId)).getMetaAttributes()
currentAttributes.put("jira.permission.assignee.group","whatever")
workflowManager.getWorkflow(workflowName).getLinkedStep(statusManager.getStatus(statusId)).setMetaAttributes(currentAttributes)
Like # people like this
Ryan L July 12, 2019

PERFECT!!!

 

I'll give it a shot when i get some free time. 

Ryan L July 19, 2019

It works. Thank you very much.

TAGS
AUG Leaders

Atlassian Community Events