Code for JIRA added functionality

John Pfotzer January 25, 2016

I have in JIRA 3 custom fields: Priority (with 5 choices), change risk (with 3 choices) . If priorty equal "low" and change risk equals "Medium"  then the 3rd field will autofil with "normal" or one three choices.

I need some code to put in a script field (see image below), to make the above happen.

 

 

Is there a good plugin I can use, or........

I need some simple coding done and willing to pay someone to do this. Would you know anyone who can,

 or a site I can go to and advertise a need for this?

 

Change Category.png

 

1 answer

0 votes
Vasiliy Zverev
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.
January 25, 2016

Try this code for scripted field, just change names for custom fields:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.issue.fields.CustomField

MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject("ZV2-1")
if(issue == null)
    return "no such issue"

CustomField priority = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Сложность");
if(prioryty == null)
    return "no such field"

CustomField changeRisk = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Сложность");
if(prioryty == null)
    return "no such field"

if( ((Option) issue.getCustomFieldValue(prioryty)).getValue().equals("low")
    && ((Option) issue.getCustomFieldValue(changeRisk)).getValue().equals("normal")){
    return "normal"
}
John Pfotzer January 26, 2016

Vasiliy, we are making progress!!  Thank you so much for this. I am working with another novice coder, we have a question: since "priority" is a standard field, and not a custom field is the code correct calling priority a CustomField?

CustomField priority = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Сложность");
if(prioryty == null)
    return "no such field"
Thanks!
John
Vasiliy Zverev
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.
January 26, 2016

If you need to get standart field you should use methods of issue object to get it. 

In this case use: issue.getPriorityObject()

Suggest an answer

Log in or Sign up to answer