How to apply Behaviour script globally for create Issue event?

Bryan Karsh
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.
August 5, 2016

Hi guys,

I have the following script (based on example from https://answers.atlassian.com/questions/38845277).

What I am trying to figure out, is if there is a way to have it fire only during issue create issue events – regardless of workflow. I have several workflows, and I don't want to create individual behaviours for each workflow's create issue transition.

Any tips? Below is the behaviour I have currently:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.customfields.option.Option
def issue = getIssueContext().getIssueTypeObject()
def issueType = issue.getName()
def radioButton = getFieldById(getFieldChanged()) // Radio Button
if (issueType == "Foobar") {
 radioButton.setFormValue(optionFor(radioButton, "Yes").optionId)
} else {
 radioButton.setFormValue(optionFor(radioButton, "No").optionId)
}
private Option optionFor(FormField radioButton, String value) {
 def optionsManager = ComponentAccessor.getOptionsManager()
 def customFieldManager = ComponentAccessor.getCustomFieldManager()
 def customField = customFieldManager.getCustomFieldObject(radioButton.getFieldId())
 def config = customField.getRelevantConfig(getIssueContext())
 def options = optionsManager.getOptions(config)
 def optionToSelect = options.find { it.value == value }
 optionToSelect
}

Thanks for the help!

2 answers

1 accepted

1 vote
Answer accepted
JamieA
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.
August 7, 2016

I would apply it globally, then you can check if that issue already exists. If it doesn't it must be the "create" action:

import com.onresolve.jira.groovy.user.FieldBehaviours

if (! getUnderlyingIssue()) {
    /// this is create...
}
Bryan Karsh
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.
August 9, 2016

Thank you Jamie – that worked like a charm!

0 votes
Bryan Karsh
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.
August 5, 2016

In case there is any confusion – I don't want it to fire while editing a ticket. Only during ticket creation.

Suggest an answer

Log in or Sign up to answer