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
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.