限制 用户A 的用户数量大于一时显示
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.user.ApplicationUser; CustomField cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10906L); List<ApplicationUser> users = (List<ApplicationUser>) issue.getCustomFieldValue(cf); if(users!=null&&users.size()>1){ return true } return false |
后处理 将当前用户在用户A字段中移除并添加到用户B字段
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.issue.fields.CustomField; // 获取当前用户 ApplicationUser user = ComponentAccessor.getComponent(JiraAuthenticationContext.class).getLoggedInUser(); CustomField cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10906L); CustomField ycf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(11102L); List<ApplicationUser> users = (List<ApplicationUser>) issue.getCustomFieldValue(cf); List<ApplicationUser> newUsers = new ArrayList<>(); for(ApplicationUser ownerUser:users){ if(!user.getUsername().equals(ownerUser.getUsername())){ newUsers.add(ownerUser); } } issue.setCustomFieldValue(cf,newUsers); List<ApplicationUser> yUsers = (List<ApplicationUser>) issue.getCustomFieldValue(ycf); if(yUsers==null){ yUsers = new ArrayList<>(); } yUsers.add(user); issue.setCustomFieldValue(ycf,yUsers); |
限制 用户A 的用户数量等于一时显示
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.user.ApplicationUser; CustomField cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10906L); List<ApplicationUser> users = (List<ApplicationUser>) issue.getCustomFieldValue(cf); if(users!=null&&users.size()==1){ return true } return false |
后处理 将当前用户在用户A字段中移除并添加到用户B字段
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.issue.fields.CustomField; // 获取当前用户 ApplicationUser user = ComponentAccessor.getComponent(JiraAuthenticationContext.class).getLoggedInUser(); CustomField cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10906L); CustomField ycf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(11102L); List<ApplicationUser> users = (List<ApplicationUser>) issue.getCustomFieldValue(cf); List<ApplicationUser> newUsers = new ArrayList<>(); for(ApplicationUser ownerUser:users){ if(!user.getUsername().equals(ownerUser.getUsername())){ newUsers.add(ownerUser); } } issue.setCustomFieldValue(cf,newUsers); List<ApplicationUser> yUsers = (List<ApplicationUser>) issue.getCustomFieldValue(ycf); if(yUsers==null){ yUsers = new ArrayList<>(); } yUsers.add(user); issue.setCustomFieldValue(ycf,yUsers); |
后处理 将用户B中的用户全部移动到用户A字段中
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.issue.fields.CustomField; // 获取当前用户 ApplicationUser user = ComponentAccessor.getComponent(JiraAuthenticationContext.class).getLoggedInUser(); CustomField cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10906L); CustomField ycf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(11102L); List<ApplicationUser> users = (List<ApplicationUser>) issue.getCustomFieldValue(ycf); List<ApplicationUser> yUsers = (List<ApplicationUser>) issue.getCustomFieldValue(ycf); issue.setCustomFieldValue(cf,yUsers); List<ApplicationUser> newusers = new ArrayList<>(); issue.setCustomFieldValue(ycf,newusers); |