The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to get the current issue type in Behaviour serverside script

Meng Ge
November 15, 2016

Hello everyone,

Do someone know how to get the current issue type in Behaviour serverside script?

I want to get the issue type when creating an issue, and change the option of a select field depend on its issue type.

I tried many ways, but still can't get the issue type of current creating issue, can someone help?

 

This is my Behaviour serverside script.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.*
 
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
 
def formField = getFieldByName("Test single list by Chu LIU") //option is 'A''B''C''D''1''2''3'
def customField = customFieldManager.getCustomFieldObject(formField.getFieldId())
def config = customField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)

if(issue.getIssueType.toString().equals("Bug")) //This line is what I want to realize, but met error

getFieldById("customfield_16607").setFieldOptions(options.findAll {it.value in ['1', '2','3']});

 

 Thanks in advance.

Best Regards,
Chu

 

3 answers

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

2 votes
Meng Ge
November 15, 2016

I've found the answer, using this code can make it work:

String selectedIssueType = getIssueContext().getIssueTypeObject().getName()
1 vote
Omprakash Thamsetty
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 Champions.
June 6, 2019

@Meng Gedepreciated

String selectedIssueType = getIssueContext().getIssueTypeObject().getName()

Use either of this

//def ITName = underlyingIssue?.getIssueType().name
def ITName = issueContext.issueType.name

But below line not setting the values based on issue type. Does it work for you?

 

getFieldById("customfield_16607").setFieldOptions(options.findAll {it.value in ['1', '2','3']}); 
YogeshRanjit
December 9, 2019

Thanks... It worked for me..

0 votes
Omprakash Thamsetty
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 Champions.
June 6, 2019

Its working if we do not have any context root. How to read the values from context root for the fields in behavior to set the values.

Comments for this post are closed

Community moderators have prevented the ability to post new answers.