You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Hello there,
I'm working on a script to grab the issue key and populate together with a custom field into a custom field select-list.
At the moment, I'm able to populate the custom field into the select-list. It would be great if you can point me into populating the issue key together with the custom field.
Eg: Issue Key ABC-001 Custom field : Name: EDU
Outcome : Select-list ABC-001 EDU
At the moment, I'm only able to populate EDU in the Select-list
Any help is appreciated.
Thank you.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.UpdateIssueRequest
import com.atlassian.jira.issue.fields.CustomField
@BaseScript FieldBehaviours fieldBehaviours
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
//get the text field.
def nameField = getFieldById(getFieldChanged())
assert nameField
def name = nameField.getValue() as String
//get the single select list
def selectList = customFieldManager.getCustomFieldObjectByName("System") as CustomField
assert selectList
def config = selectList.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
if(!options*.value.contains(name)){
//add options to the select list
def sequence = options*.sequence.max() as Long
optionsManager.createOption(config, null, sequence++, name )
}
Hi @bootcamp ,
You need to use underlyingIssue to retrieve data from current issue. This does not work on the create screen as the issue is not created yet.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.UpdateIssueRequest
import com.atlassian.jira.issue.fields.CustomField
@BaseScript FieldBehaviours fieldBehaviours
if (underlyingIssue){
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
//get the text field.
def nameField = getFieldById(getFieldChanged())
assert nameField
def name = underlyingIssue.getKey() + " " + nameField.getValue() as String
//get the single select list
def selectList = customFieldManager.getCustomFieldObjectByName("System") as CustomField
assert selectList
def config = selectList.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
if(!options*.value.contains(name)){
//add options to the select list
def sequence = options*.sequence.max() as Long
optionsManager.createOption(config, null, sequence++, name )
}
}
Antoine
Hello @Antoine Berry ,
Thank you for your answer.
I've tried your script, I'm able to create issues but the value added to the Name Field and the Issue key is not getting added to the select-list field System.
Previously, I was able to add the Name field to the select-list field System.
This is my behaviors configuration.
Hope this helps you.
Thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @bootcamp ,
Have you only changed the script since you were able to add an option ? What are the logs saying ?
I did not change the logic of your script, so it should be working as long as you are not on the create screen.
Antoine
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.