Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

script groovy with getissue

linda_zghendy
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 21, 2021
hello,
 
we use a script Groovy (plugin Scriptrunner) in Jira 7 to create a new issue from a workflow to an another workflow
 
we use "import com.atlassian.jira.issue.IssueFactory" like this:
 
IssueFactory issueFactory = ComponentAccessor.getComponent(IssueFactory)
[...]
MutableIssue newIssue = issueFactory.getIssue()
 
but with Jira 8, the value newIssue returns null.
 
can you help us please so "issueFactory.getIssue()" works correctly? what shall we modifiy ?
 
Thanks
 

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Dirk Ronsmans
Community Champion
October 21, 2021

Hi @linda_zghendy ,

Going by the documentation https://docs.atlassian.com/DAC/javadoc/jira/reference/com/atlassian/jira/issue/IssueFactory.html that seems like it should to be an easy thing.

  • Have you tried wrapping the creation in to a try/catch block to see if it is throwing any exceptions?
  • Does the log show any message when the code is executed?
  • Have you tried just generating an issue thru the script console (without any other actions around it to rule out interference)?

If you can post some more of your script we might be able to see if something else has changed.

Also as a reference you can always look thru https://library.adaptavist.com for example scripts.

I personally tend to use the IssueManager interface more which allows me to validate the input first before actually running the create.

linda_zghendy
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 21, 2021

Hi Dirk, thanks for your answer

 

here copy from script :

IssueFactory issueFactory = ComponentAccessor.getComponentOfType(IssueFactory.class)

 [..]

 MutableIssue newIssue = issueFactory.getIssue()

 […]

 DefaultIssueChangeHolder issueChangeHolder = new DefaultIssueChangeHolder()

def groupManager2 = ComponentAccessor.getGroupManager()

def group2 = groupManager2.getGroup(groupValue.toString())

CustomField groupeField = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_10123")

List<Group> groupList = new ArrayList<Group>()

groupList.add(group2)

if (groupeField.getValue(newIssue).equals(null)) {

                log.warn "Creation value groupe Etude"

    groupeField.createValue(newIssue, groupList)

 

}else{

 

[…]

 

}

 

here copy from log error :

[...]

2021-10-21 17:27:51,308 WARN [runner.ScriptBindingsManager]: Creation value groupe Etude

2021-10-21 17:27:51,436 ERROR [workflow.AbstractScriptWorkflowFunction]: Workflow script has failed on issue ASK-10516 for user 'S081846'. View here: http://fr-pe-jira-w1:8[...]

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException: null value in entry: issue=null

                at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2050)

[...]

                at Script63.run(Script63.groovy:111)

Caused by: java.lang.NullPointerException: null value in entry: issue=null

                at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:32)

                at com.google.common.collect.SingletonImmutableBiMap.<init>(SingletonImmutableBiMap.java:42)

                at com.google.common.collect.ImmutableBiMap.of(ImmutableBiMap.java:72)

                at com.google.common.collect.ImmutableMap.of(ImmutableMap.java:124)

                at com.atlassian.jira.issue.customfields.persistence.EagerLoadingOfBizCustomFieldPersister.lambda$getValuesForIssueId$1(EagerLoadingOfBizCustomFieldPersister.java:115)

                at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4876)

[...]

TAGS
AUG Leaders

Atlassian Community Events