Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Populate issue key on custom field select-list Edited

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 )
}

 

1 answer

0 votes
Antoine Berry Community Leader Jul 10, 2019

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. 

Capture.PNG

Hope this helps you.

Thank you.

Antoine Berry Community Leader Jul 15, 2019

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

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Marketplace Apps & Integrations

Staying organized with Jira: best practices for a better project management

Project managers know this problem: A “mountain of work” lays in front of you, and you don’t know how and where to tackle them. Different to-dos lie ahead, but just one task after the other can be ha...

183 views 2 1
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you