Behavior on security level

arama mihai
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 23, 2018

Hello,

We have the "Security Level" field with two values: A & B (and 'none' of course). 

I want the following behavior to happen:

when an issue has the Security level "B" selected, then the "Security Level" field becomes read-only for all users except a certain one.

when an issue has security level "A" or none , it should be writable.

I have tried something, but it either always makes the field read-only, or it always allows it to be edited.

My code is below: 

import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.component.ComponentAccessor

def SecurityLevelValue = getFieldById("security").getValue()
def SecurityLevelField = getFieldById("security")
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()


if (SecurityLevelValue == null)
{
SecurityLevelField.setReadOnly(false)
}

else if (SecurityLevelValue == "A")
{
SecurityLevelField.setReadOnly(false)
}

else if (SecurityLevelValue == "B" && currentUser != 'userid')
{
SecurityLevelField.setReadOnly(true)
}
else if (SecurityLevelValue == "B" && currentUser == 'userid')
{
SecurityLevelField.setReadOnly(false)
}

 

1 answer

Suggest an answer

Log in or Sign up to answer
1 vote
Kirill Ilinich November 12, 2020

getFieldById("security").getValue() returns some IDs, not text values.
like None = -1, "A" = 10200, "B" = 10300

Deepali Kohli December 16, 2022

How can we get the security level Name (text value) and not the ID.

 

Thanks!

TAGS
AUG Leaders

Atlassian Community Events