PCF - SIL User Picker

How to configure

Adding a new SIL User Picker custom field is as easy as adding any other custom field.

To do that:

  1. Log into your Jira as Admin.

  2. Go to Administration > Custom Fields > Add Custom Field, and select SIL User Picker custom field from the list.

  3. Follow the on-screen instructions.


    image-20240213-151826.png

     




  4. Go to the Configure link, and click the Edit Field data settings link to edit the field. You will see the following screen:

    image-20240213-152048.png



  5. Go to the Script tab and write a SIL script that return users. For example “return getAllUsers();” without quotes.
    Click Save, and the script will get associated with the current custom field. The values returned by the script are the values available for the custom field.

  6. If you want to filter the returned users by Roles or Groups, go to the Filtering Strategy tab and set your filters.

    image-20240213-152404.png
  7. You can set a default value for the field, in the General tab.



In our example, the SIL User Picker custom field is configured to filter only users that are members of the jira-servicedesk-users and or jira-administrators groups.

How to use it

  1. Go to an issue and edit it. This is how the field will look like:

     

  2. Select a user from the list of users available for selection, by filling at least 2 characters.

  3. Select the necessary user and save it on the current issue. The field value appears on the right side of the view issue screen, in the People section:

 

3. Edit the field on a view issue screen by clicking on the inline edit icon next to the field to see suggested users filtered accordingly to the SIL script.

That's it.

Other examples

Here are more SIL scripts examples that you can use to configure your SIL user picker fields. Basically, by means of SIL you can restrict the users selection to any criteria you want.

Issue Assignees

string[] assignees; assignees = addElementIfNotExist(assignees, assignee); string[] assigneeHistory = fieldHistory(key, "assignee"); for(number i = 1; i < size(assigneeHistory); i = i + 2) { string assigneeName = getElement(assigneeHistory, i); assignees = addElementIfNotExist(assignees, assigneeName); } return assignees;

Users in specific role

return usersInRole(project, "Developers");

Users in specific group

return usersInGroups("jira-developers");

Searching issues

When you create a new SIL User Picker custom field, the default searcher set is SIL User Picker and Group Searcher. This filters the available users for the custom field in issue navigator accordingly to the configured SIL script.

However, when using SIL issue specific variables in the script (for instance project, key, assignee, reporter), you have to use Jira's standard searcher User Picker and Group Searcher for that field, or otherwise you will not be able to select any value for filtering.

When using the SIL User Picker & Group Searcher, user suggestions in issue navigator will be retrieved based on the SIL script from the field's global configuration.

  1. Go to Administration > Custom fields

  2. Click Edit for the desired custom field

  3. Choose the proper Search Template for your custom field.

  4. Perform a re-index — After the Search Templates are changed for all the custom field that you want, perform a re-index in Jira for the search to work fine.

  5. After a searcher has been set for the SIL User Picker custom field, you can perform a search for all issues containing the desired value for that custom field


     




For a more details about searching tickets in Jira, you can check the Searching for Issues tutorial from the Jira documentation.