Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,300,887
Community Members
 
Community Events
165
Community Groups

create custom scripted field in scriptrunner

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 :

,,,,,,,,

1 answer

0 votes
Antoine Berry Community Leader Oct 22, 2021

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 :

Capture.PNG

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 :

 

Capture.PNG

Like Antoine Berry likes this

@Antoine Berry  do you know how can I get all the groups to appear as options not just one? 

Antoine Berry Community Leader Oct 25, 2021

Hi @Samar Elsayed ,

This is my configuration : image.png

Using my script above, this is the output on the view screen of an issue : image.png

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.

@Antoine Berry thank you. can you please give me an example about how to do that in 

a behaviour ?

Like Antoine Berry likes this
Antoine Berry Community Leader Oct 27, 2021

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.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira Service Management

Improving the Create Issue Experience in Jira Service Management Cloud

Hello everyone!  We are very excited to announce some much needed changes to the issue create experience in JSM (the blue "create" button) at the top of the screen.  We have just starte...

218 views 8 7
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you