How activate Group via JIRA 7 Java API?

When trying to create new Group by writing

Group ng = groupMgr.createGroup("some_group");crowdService.addGroup(ng);

I get "Group already exists in the remote directory".

When using ProjectRoleService to add this Group to a ProjectRole I get "We ca't find 'some_group' in any accessible user directory. Check they're still active and available, and try again."

So I guess I just need to activate this group. How to do it via Java API

1 answer

0 vote

A group might exist in a directory without necessarily being exposed to the applications.

One of my current projects involves a client with 10,000 users and 5,000 groups in their AD, but JIRA only sees 400 users and 50 groups because it is limited to one part of the directory.

Could that be the case?

That is what I think it is. One group (from problematic groups) was created (became available in JIRA application) after a user from that group logged in. Probably same would happen with all the groups (I am having trouble creating) if appropriate user would login, howerver I want these groups to be available in application before tha thappens.

New groups that are exposed to the application should appear on the next synchronisation, as well as when a user logs in and hence uses the group.

How do I expose them to the applications using Java API?

Trigger a synchronisation.

How? Like this?

 

DirectoryManager directoryManager = ComponentAccessor.getComponent(DirectoryManager.class);
for( Directory directory : directoryManager.findAllDirectories() ){
try{
if( directoryManager.isSynchronisable( directory.getId() )
&& !directoryManager.isSynchronising( directory.getId() )){
directoryManager.synchroniseCache( directory.getId(), SynchronisationMode.INCREMENTAL );
}
} catch( Exception e ){
log.error("", e);
}
}

In the logs of the application I am working with I see http://prntscr.com/ga1rth even without the code I wrote above. So I guess synchronisation is happening (it is a scheduled repeating job).

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Monday in Agility Beta

We've moved!

A note to all watchers that we've moved to a new community home... https://community.atlassian.com/t5/Agility/ct-p/agility Please update your notification subscriptions to keep across the ...

80 views 1 2
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you