Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,462,267
Community Members
 
Community Events
176
Community Groups

ScriptRunner workflow function (Set Issue security level depending on provided condition)

Edited

Hi Atlassian Community, im looking for solution to set Issue security Level based on custom field value.

 

I find the best way to do this by using ScriptRunner workflow function:

  • Set issue security level depending on provided conditionHelp
    Sets issue security if the provided condition evaluates to true

Description:

We have custom filed "Teams".

We have values "Team first"; "Team Second"

We have issue security level, and one of this level which called "Administration Task SL"

Also i find id of this custom field value id of one of parameter "Team first = 11700"

 

But im new in this scripts and always get an error:

 

Screenshot_3.png

All screen how i try to do this

1) use transition on which i need to change issue security level

2) try to add postfunction from ScriptRunner workflow function (Set Issue security level depending on provided condition)

3) SetName of security level

4) Got issue's in code

Screenshot_2.pngMaybe im doing something wrong or not define some values.

Here are my code:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.security.IssueSecurityLevelManager
import com.atlassian.jira.issue.security.IssueSecuritySchemeManager

def project = issue.getProjectObject()
def projectComponentManager = ComponentAccessor.getProjectComponentManager()
def issueSecuritySchemeManager = ComponentAccessor.getComponent(IssueSecuritySchemeManager)
def issueSecurityLevelManager = ComponentAccessor.getComponent(IssueSecurityLevelManager)

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def issueManager = ComponentAccessor.issueManager

def cfValue =customFieldManager.getCustomFieldObjectByName("Teams")
if (cfValue == 'Team first') {
issue.setSecurityLevelId(11700)
}

 

Maybe somebody meet this before? or can help me how to correct define condition?

 

 

Or somebody know how to make, becose we need to use one of two issue security level based on custom field. Maybe i need something different?

if (cfValue == 'Team one') {
issue.setSecurityLevelId(null)
} else if (cfValue == 'Team second') {
issue.setSecurityLevelId(secLevel.id)
} else {
//something else
}

 

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events