Hi,
I am using behaviours plugin to set assignee during editing, here is my code:
FormField ass = getFieldById("assignee") FormField formCurrent = getFieldById(getFieldChanged()) currentValue = formCurrent.getValue() if(null != currentValue){ ass.setFormValue("admin") System.out.println("set admin "); }else { ass.setFormValue("cc5") System.out.println("set cc5 "); }
My problem is: this script is only executed once, for a instance, when i click edit, script identify my field value is null, then set assignee as "cc5", but after i change my filed value, script never be triggered again.
Meanwhile, "description" , " summary" are modified automatically and dynamically basing on my field value i changed.
Why this problem is happening on assignee field only?
JIRA: 6.3.11
Script runner plugin: 3.0.7
Hi Ma Hao,
Instead of behaviour script you can use a post function and apply it on the transition.
we can set assignee depends upon user picker custom field.
i have used this script for JIRA 6.3.11
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.util.IssueChangeHolder
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder;
import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem;
import com.atlassian.jira.issue.ModifiedValue;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.user.util.UserUtil;
import com.atlassian.jira.user.ApplicationUsers.*;
import com.atlassian.jira.user.util.UserUtil;
import com.atlassian.jira.issue.index.IssueIndexManager;
import com.atlassian.jira.user.ApplicationUser;
import com.atlassian.jira.user.util.UserManager;
import com.atlassian.jira.user.ApplicationUsers;
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.user.util.DefaultUserManager
import com.atlassian.crowd.embedded.api.User
ComponentManager componentManager = ComponentManager.getInstance()
IssueManager issueManager = ComponentAccessor.getIssueManager()
//MutableIssue myIssue = issueManager.getIssueObject("PP-1")
MutableIssue myIssue = issue
Issue issue = issue;
log.error("----MY ISSUE KEY IS------"+myIssue)
CustomFieldManager customFieldManager = ComponentManager.getInstance().getCustomFieldManager();
/*def user_name = customFieldManager.getCustomFieldObjectByName("Line Manager");
def user1=myIssue.getCustomFieldValue(user_name);
log.error("----------- USer Name Is-------"+user1)
*/
def cfQAVerifier = customFieldManager.getCustomFieldObjectByName("Line Manager");
String us =myIssue.getCustomFieldValue(cfQAVerifier).name;
log.error("-------- User name is--------"+us);
log.error("----------Assignee Set----"+myIssue.setAssigneeId(us));
//UserManager userManager = UserManager.getInstance();
User ud=ComponentManager.getInstance().getUserUtil().getUser(us)
log.error("--------- USER NAME IS ------"+ud)
myIssue.setAssignee(ud);
myIssue.store();
please used this and let me know wheather its working or not
Regards,
Mayur
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.