Hi,
I try update assignee field on postfunction. I read several topics, but I have a problem still.
My code:
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Level
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.fugue.Option
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.user.util.UserManager
import com.atlassian.crowd.embedded.api.User
log.setLevel(Level.DEBUG)
//Grab necessary Components
def cfm = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def userManager = ComponentAccessor.getUserManager()
def issueService = ComponentAccessor.getIssueService()
def RealizujacyCf = cfm.getCustomFieldObject(11701L)
log.info("RealizujacyCf: " + RealizujacyCf)
def RealizujacyValue = issue.getCustomFieldValue(RealizujacyCf)
log.info("RealizujacyValue: " + RealizujacyValue)
def ClassOfField = RealizujacyValue.getClass()
log.info("ClassOfField: " + ClassOfField)
def ArreySize = RealizujacyValue.size()
log.info("ArreySize: " + ArreySize)
def Realizujacy = issue.getCustomFieldValue(RealizujacyCf).get(0).getName()
log.info("Realizujacy: " + Realizujacy)
def cfWlasciciel = cfm.getCustomFieldObject(11100L)
def user = userManager.getUserByName(Realizujacy);
def validateAssignResult = issueService.validateAssign(user, issue.id, issue.reporterId)
log.info("validateAssignResult: " + validateAssignResult)
//issueService.assign(user, validateAssignResult)
log.info("user: " + user)
//issue.store();
This line return the name of user, ex.: anowak(anowak),
def user = userManager.getUserByName(Realizujacy);
Now, I'd like to update assignee filed with value of "user ".
Without this line:
issueService.assign(user, validateAssignResult)
I have this result:
2019-03-26 16:27:39,829 INFO [workflow.ScriptWorkflowFunction]: RealizujacyCf: Realizujący 2019-03-26 16:27:39,830 INFO [workflow.ScriptWorkflowFunction]: RealizujacyValue: [anowak(anowak)] 2019-03-26 16:27:39,830 INFO [workflow.ScriptWorkflowFunction]: ClassOfField: class java.util.ArrayList 2019-03-26 16:27:39,830 INFO [workflow.ScriptWorkflowFunction]: ArreySize: 1 2019-03-26 16:27:39,830 INFO [workflow.ScriptWorkflowFunction]: Realizujacy: anowak 2019-03-26 16:27:39,830 INFO [workflow.ScriptWorkflowFunction]: user: anowak(anowak) 2019-03-26 16:27:39,830 INFO [workflow.ScriptWorkflowFunction]: validateAssignResult: com.atlassian.jira.bc.issue.IssueService$AssignValidationResult@330196c2
But with this line:
issueService.assign(user, validateAssignResult)
I have this result:
2019-03-26 16:32:23,095 INFO [workflow.ScriptWorkflowFunction]: RealizujacyCf: Realizujący 2019-03-26 16:32:23,095 INFO [workflow.ScriptWorkflowFunction]: RealizujacyValue: [anowak(anowak)] 2019-03-26 16:32:23,095 INFO [workflow.ScriptWorkflowFunction]: ClassOfField: class java.util.ArrayList 2019-03-26 16:32:23,096 INFO [workflow.ScriptWorkflowFunction]: ArreySize: 1 2019-03-26 16:32:23,096 INFO [workflow.ScriptWorkflowFunction]: Realizujacy: anowak 2019-03-26 16:32:23,096 INFO [workflow.ScriptWorkflowFunction]: user: anowak(anowak) 2019-03-26 16:32:23,096 INFO [workflow.ScriptWorkflowFunction]: validateAssignResult: com.atlassian.jira.bc.issue.IssueService$AssignValidationResult@1db86722 2019-03-26 16:32:23,098 ERROR [workflow.ScriptWorkflowFunction]: ************************************************************************************* 2019-03-26 16:32:23,098 ERROR [workflow.ScriptWorkflowFunction]: Script function failed on issue: null, actionId: 1, file: <inline script> java.lang.IllegalArgumentException: Issue cannot be null. at com.atlassian.jira.issue.fields.layout.field.AbstractFieldLayoutManager.getFieldLayout(AbstractFieldLayoutManager.java:135) at com.atlassian.jira.bc.issue.DefaultIssueService.assign(DefaultIssueService.java:557) at com.atlassian.jira.bc.issue.IssueService$assign$0.call(Unknown Source) at Script462.run(Script462.groovy:49)
Could you help me? :(
Hi,
You are not using the correct method. I would advise to use :
issue.setAssignee(user)
Antoine
Thank you very much.
Right code looks like:
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Level
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.fugue.Option
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.user.util.UserManager
import com.atlassian.crowd.embedded.api.User
log.setLevel(Level.DEBUG)
//Grab necessary Components
def cfm = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def userManager = ComponentAccessor.getUserManager()
def issueService = ComponentAccessor.getIssueService()
def RealizujacyCf = cfm.getCustomFieldObject(11701L)
log.info("RealizujacyCf: " + RealizujacyCf)
def RealizujacyValue = issue.getCustomFieldValue(RealizujacyCf)
log.info("RealizujacyValue: " + RealizujacyValue)
def ClassOfField = RealizujacyValue.getClass()
log.info("ClassOfField: " + ClassOfField)
def ArreySize = RealizujacyValue.size()
log.info("ArreySize: " + ArreySize)
def Realizujacy = issue.getCustomFieldValue(RealizujacyCf).get(0).getName()
log.info("Realizujacy: " + Realizujacy)
def cfWlasciciel = cfm.getCustomFieldObject(11100L)
def user = userManager.getUserByName(Realizujacy);
log.info("user: " + user)
def validateAssignResult = issueService.validateAssign(user, issue.id, issue.reporterId)
log.info("validateAssignResult: " + validateAssignResult)
issue.setAssignee(user)
//issueService.assign(user, validateAssignResult)
//issue.store();
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.