Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,557,079
Community Members
 
Community Events
184
Community Groups

How do I use ScriptRunner to populate Customer Request Type when a specific Issue Type is created

Edited

I am trying to implement a solution using Adaptavista ScriptRunner and am running into some difficulties making the code work as expected. 

System: JIRA 7.11.1

JIRA Service Desk

Scenario/ Use Case: When creating a new issue from the JIRA channel (not the service desk Customer Portal channel) on the create screen I would like to be able to edit the "Customer Request Type" field using ScriptRunner to select a specific "Customer Request Type" when the issue creator selects a specific "Issue Type". If customer selects issue type A, then Customer Request Type A is also selected. In addition I would like to always hide the "Customer Request Type" field on the create issue screen so that users cannot change it.

I am running into difficulty as the "Customer Request Type" doesn't seem to conform to any of the field types I have previously used ScriptRunner on (Select List, Multi Select List, Radio Button). I am sure this something that can be handled in 6 to 8 lines of code, but I am not having any luck at all with getting the expected results. 

Any help or guidance you can provide is greatly appreciated. 

2 answers

I was able to use the Initialiser to hide the field "Customer Request Type" for the create screen, however I am not able to figure out how to set the field value for the Customer Request field. Any help on what I am doing wrong would help.  The error I am getting is on the very last line of this code (see code block for complete example) : issue.setCustomFieldValue(tgtField, requestType)

def fieldToHide = getFieldByName("Customer Request Type")
def IssueType = getFieldByName("CF Request")
def optionValue = IssueType.getValue().toString()


fieldToHide.setHidden(true)

if (optionValue == 'Non-template') {
fieldToHide.setHidden(false)
}

import com.atlassian.jira.component.ComponentAccessor

def QuantumRequest = "key/444099ab-e1bd-4a9d-8f09-11c93f104d15"

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def tgtField = customFieldManager.getCustomFieldObjectByName("Customer Request Type")

log.debug("Customer Request Type Custom field Id: ${tgtField.getId()}")

def requestType = tgtField.getCustomFieldType().getSingularObjectFromString(CFRequest)
issue.setCustomFieldValue(tgtField, requestType)

  

Trying to help myself out as bit as this is a pressing issue I need solved. Looks like Customer Request Type doesn't conform to other field types, so I have to use a different methodology to reference that field:

From the Scrip Console:

import com.atlassian.jira.component.ComponentAccessor

def issue = ComponentAccessor.issueManager.getIssueByCurrentKey("KEY-###")
def cf = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("Customer Request Type")
issue.getCustomFieldValue(cf)

From there the results provide the field name:

key/444099ab-e1bd-4a9d-8f09-11c93f104d15

I found some more details here to assist with the Customer Request Type field

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events