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

Set a default value in component in creation Behaviour

BYA May 25, 2021

Hello, 

i want to set a default component "Example1" and "Example2" when I want to create a issue. i found this behaviour in Initialiser : 

import com.atlassian.jira.component.ComponentAccessor

import static com.atlassian.jira.issue.IssueFieldConstants.*

if (getActionName() != "Create Issue") {
return // not the initial action, so don't set default values
}

// set Components
def projectComponentManager = ComponentAccessor.getProjectComponentManager()
def components = projectComponentManager.findAllForProject(issueContext.projectObject.id)
getFieldById(COMPONENTS).setFormValue(components.findAll { it.name in ["Example1","Example2"] }*.id)

 

But when i want to create a issue, the components field is not filled with the values "Example1" and "Example2":

Capture00004.PNG

Please can you help, is very urgent. 

Thanks community . 

Fayçal

PS : we already have a list of values in components field. 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 25, 2021

Hi

 

Are your existing components spelled exactly like 

"Example1","Example2"

Have you reviewed the atlassian-jira.log file to see if there are any errors?

Add some logging and review the log files to get progress on your script's execution:

log.info "script is reporting the current screen as $actionName"

if (getActionName() != "Create Issue") {
return // not the initial action, so don't set default values
}
log.info "script is passed the action check"

// set Components
def projectComponentManager = ComponentAccessor.getProjectComponentManager()

def components = projectComponentManager.findAllForProject(issueContext.projectObject.id)
log.info "script found components for currentproject: $components"

def mycomponents = components.findAll{it.name in ["Example1", "Example2"]}
log.info "script found my components: $myComponents"

getFieldById(COMPONENTS).setFormValue(components.findAll { it.name in ["Example1","Example2"] }*.id)
log.info "script applied my components to ${getFieldById(COMPONENTS)"
BYA May 26, 2021

It works thank you so much for your help 

BR

Fayçal

TAGS
AUG Leaders

Atlassian Community Events