Hi,
I need to get the groups that the logged in user belongs to and make these groups appear as options in a multi choice custom field.
below is the code that gets the groups :
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Logger
import org.apache.log4j.Level
def logg = Logger.getLogger("")
logg.setLevel(Level.DEBUG)
def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def groupManager = ComponentAccessor.groupManager
def group
def g_group
//def userManager = ComponentAccessor.userManager
//def userUtil = ComponentAccessor.userUtil
//
def groupsval = ComponentAccessor.groupManager.getGroupNamesForUser(user) as List
//return groupsval
for(int k=0; k<groupsval.size(); k++) {
group = groupsval.get(k)
// g_group = groupManager.getGroupObject(group)
return group
}
How can I do that in script runner ?
I tried to create a multi group picker scripted field with multi group picker searcher but it gives me empty result as shown below :
,,,,,,,,
Hi @Samar Elsayed ,
I have modified your snippet a bit, could you try this one :
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Logger
import org.apache.log4j.Level
def logg = Logger.getLogger("")
logg.setLevel(Level.DEBUG)
def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def groupsval = ComponentAccessor.groupManager.getGroupsForUser(user)
return groupsval
Antoine
Hi @Antoine Berry ,
I have tried that already but it still gives me :
, , , , , , , , , , , ,
I have tried to use a custom template instead of group picker :
but it gives me the whole list when I use only
return groupsval
as below :
[confluence-administrators, agile team]
and when I use the for loop for the list, I get the first element only :
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Samar Elsayed ,
This is my configuration :
Using my script above, this is the output on the view screen of an issue :
As you can see this is working correctly. Please remember that a script field only calculates values, but does not provide a list of option (meaning that it will only be available on view screen).
If you want the user to select a group among the user groups, you would need to create a group picker, and update options with a behaviour script.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Samar Elsayed ,
Actually using a group picker field, I think you could only auto-select the user's groups, but not restrict its values.
You could restrict the values of a regular select list, but this would mean having all the groups as options in the field configuration (= a lot of maintenance).
Alternatively you could throw an error if the group selected is not one of the current user's.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.