Forums

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

Jira Behaviour - Check if user is part of 'Approvers' user picker field

Joel Batac
Contributor
May 5, 2023

Hi,

 I'm wondering how to check/compare if the current user is listed in a user-picker filed named Approvers. I want to hide a field if the user doesn't belong (or listed) in the field. 

 

Thanks. 

1 answer

0 votes
Fabio Racobaldo _Herzum_
Community Champion
May 7, 2023

Hi @Joel Batac ,

please try the following code :

import java.util.List;

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.jira.user.ApplicationUser;

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
ApplicationUser currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();
CustomField approversCF = customFieldManager.getCustomFieldObjectByName("Approvers");

Issue issue = getUnderlyingIssue();
def field = getFieldByName("YOUR_FIELD_NAME_HERE");

List<ApplicationUser> approvers = issue.getCustomFieldValue(approversCF)!=null?(List<ApplicationUser>)issue.getCustomFieldValue(approversCF)):null;
if(approvers.contains(currentUser))){
field.setHidden(false);
} else {
field.setHidden(true);
}

Hope this helps,

Fabio

Joel Batac
Contributor
May 7, 2023

Thanks Fabio. I new to scriptrunner. Can you explain this part?

 

List<ApplicationUser> approvers = underlyingIssue?.getCustomFieldValue(approversCF)!=null?(List<ApplicationUser>)underlyingIssue?.getCustomFieldValue(approversCF):null;

Fabio Racobaldo _Herzum_
Community Champion
May 8, 2023

Hey @Joel Batac , that part of code retrieves list of users stored in custom field Approvers.

Suggest an answer

Log in or Sign up to answer