Removing users from groups through SQL

I am trying to remove a group of users in bulk from the jira-users group through SQL (since there doesn not seem to be a way to do this through the UI). I am deleting the row in cwd_membership where the child_name = 'user's id' and parent_name = 'jira-users'. After running this query, the UI does not reflect the update until I add that user to another group, then the groups update in the UI as expected. 

Question: When you remove a user from a group in the UI, is it touching more tables than simply deleting the corresponding row for that user/grou pairing from cwd_membership table?

1 answer

0 votes

Yes, you need to stop JIRA, take a backup, run your SQL, restart JIRA and re-index it.

This is one reason you don't do anything with SQL in Atlassian applications.

Thanks for the reply, Nic. Just to clarify...are you suggesting that I do not make any modifications to group membership through SQL...or are you saying that this will work as long as I go through the process of stopping JIRA first, etc.?

Both.  I can not recommend the use of SQL updates on a JIRA database, as they almost always cause problems because people don't understand the database.

If you insist on using them, then you *must* have JIRA offline when you do it, and a proved backup, as it's not unknown for one tiny mistake to render chunks of the application totally broken.

There are some exceptions to the "offline and re-index afterwards" rule, but not many.

Susan Hauth Community Champion May 18, 2017

I need to do something similar and it's been advised to use the REST API.  @Nic, working on it with @Antonio at Adaptavist

My apolgies, I was too focussed on the SQL.  Yes, absolutely do it with REST.

I think of REST as a "UI for computers" - if a human clicks on "delete user from group" and something makes a REST call to "delete user from group", they both take much the same route through the code, and end up removing the user in the same safe way that doesn't need any downtime.

Scriptrunner has an example to deactivate a user in JIRA, but that doesn't work with users from an LDAP directory. I get an error saying that "Cannot edit user, as the user's directory is read only", although the users directory is read only, it should be able to change the local groups (remove jira-users). I now found a solution with curl and REST API to remove the users from the jira-users. 

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 27, 2018 in Portfolio for Jira

Introducing a new planning experience in Portfolio for Jira (Server/DC)

In the past, Portfolio for Jira required a high degree of detail–foresight that was unrealistic for many businesses to   have–in   order to produce a reliable long-term roadmap. We're tur...

2,667 views 18 21
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