How does the user picker work in JIRA applications

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server, Data Center, and Cloud By Request - This article was written for the Atlassian server and data center platforms but may also be useful for Atlassian Cloud customers. If completing instructions in this article would help you, please contact Atlassian Support and mention it.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

JIRA applications use the user picker for the assignee and reporter field, as well as custom user or group picker field. With AJAX, the user picker will return possible results on each entry. However, there is no documentation on how it works from the background. 

How does JIRA applications user picker work?

  • The user picker first figures out the group via Project -> Role -> Group (i.e. determines that the assignable users for project X are the users in the role Y, and therefore the users in the group Z).
  • This fires a REST call on every keystroke, depending on how fast the characters are entered.
  • It uses the configured User Directories (AD, Crowd...) to get a list of users that belong to group Z.
  • Matches the entered characters with the user name, the email address and display name.
  • The User Picker's auto suggest feature requires the Browse User's Global Permissions to work. Without this permission, users would only be able to specifically add exact usernames.

Can you change the REST call interval?

Unfortunately no. It will do a request 75 millisecond after entering a character. If the user enters another character in that 75ms period, it will restart the timer. In other words, if the user types the name really fast, it won't do a search until the full name has been entered. A way to force that behaviour is to write the username somewhere else, copy and paste it into the field: that will result in just one REST call.

Will the way that the user picker  works cause performance issues?

It's possible that this could cause performance problems in some particular circumstances. There are a two potential problems:

  • If the user has multiple User Directories, searching for the members of a group could be slow. 

  Solution : reduce the number of User Directories and/or move the User Directory that will contain the requested group at the top of the preference chain.

  • If the project has a very broad assignable group, (eg: all the users in a JIRA application are potentially assignable, but only a bunch of them are actually assigned), retrieving the list of users and matching the characters could be expensive. 

  Solution: create a smaller assignable group, it is better to add users when needed, than to add lots of JIRA applications users that never get an issue assigned.



There is a feature request raised to enable better configuration of the user picker field:



Last modified on Nov 29, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.