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,362,097
Community Members
 
Community Events
168
Community Groups

Bulk deletion of Jira users or Customer users

Gone are the days when you need to go through the REST API or pay for an app just to delete users or create users. I have always felt the need to help people as much as I can and doing so I have created a free app that helps do just that, which can be downloaded for free. You can install the app called BulkOps app from the Atlassian Marketplace and perform bulk deletion of jira users or customer users.

bulkops.png

Just to give you a background, on Jira there are two user types that exist.

  1. Jira users - Which is any user that has access to Jira core, Jira software or Jira Service Management.
  2. Customer users - Which is any user that has access to Jira Service Management portal

In order to use this app for bulk deletion, all you need to do is prepare a CSV file having just 2 columns. The id column to capture the accountId of your users and a displayname column just to show you who the users are.

Delete Jira users

To delete Jira users, simply prepare a CSV file of your user list. You can get this from your admin hub by navigating to https://your-instance.atlassian.net/admin under the user tab click on the export users button to the top right side.

jira_user.png

Once you download the file, open it and delete other columns leaving only the "id" and "name" columns then save the file. That way when uploading this file with the app, it can know the right user to delete

Delete customer users

Similarly, if you need to delete customer users, navigate to https://your-instance.atlassian.net/admin/jira-service-desk/portal-only-customers and click on the export customers button on the top right side.

customers.png

Once you download the file, open it and delete other columns leaving only the "username" and "full_name" columns then save the file. This will be the format of the file you will upload using the app.

Perform a bulk delete after you've structured your file by launching the app - navigate to the users > bulk delete user and upload the file and that's it.

 bulk_delete.png

If formatted correctly, the app will delete the users you have on the file.

32 comments

Thank you, this looks like it should save a lot of time clearing up migrating to cloud and copying old customer users over. 

Hey there @Prince Nyeche - this app is awesome, but I seem to just get errors when I run it to bulk delete users. At the moment, just 500 errors. What am I doing wrong?

Hi @Dave Keating 

For bulk delete, it should be a CSV file in UTF-8 formatting and your delimiter in the file should follow any one of the five options provided within the app prior to upload. However, please raise a request at https://elfapp.website/support with an example file structure and I'll look into it.

I have two major projects that just ended and need to revoke access to our Atlassian instance (JIRA/Confluence) for 200 consultants. Just the thought of doing this manually is exhausting. I'm excited about possibly using the BulkOps app.

Is "Deleting" a JIRA user the same as "Revoking" their access? Does this also revoke access to Confluence?

In a way yes as deleting a Jira user on the cloud basically removes them from your active user management base at the same time revokes access. There're still references to them on other activities such as previous tickets or previous mentions. If you simply want to revoke access but keep the user as a "user without site access" - then you should remove the user from all groups that provide product access (i.e. application access). e.g of groups: jira-software-users, confluence-users, etc

That way, you can revoke the access which will make the user unable to log in to your instance. The Bulkops app is able to delete confluence users or remove any user from multiple groups at the same time. Just make sure if you're targeting confluence users that you have a Jira application present as having only confluence application on your instance isn't compatible with the app.

Hello @Prince Nyeche,

Please I wanted to know when i'll be using the BulkOps app to delete users just from my site, if the users will lose access to the other cloud sites as well or just my site. Because I have seen that when we deactivate the users they will lose the whole access to all Atlassian cloud products.

Does the app deactivate them whole from cloud or just remove the users from my site.

You may have given solution for this, but please bear my ignorance as I am still new to the cloud.

Thanks.

Hey @Adarsh Hegde 

The users will only loose access to your instance which you've registered with on the app. I'm going to give a thorough explanation so you can get the concept behind Atlassian cloud administration.  Each instance must belongs to one organization and an organization can have many list of instances under its belt. For example if your organization is called ACME and under the ACME org you have instance A as https://example.atlassian.net and instance B as https://other.atlassian.net

Users from both instances will be visible from your organization ACME perspective. However, each instances will still have their own individual user entity based on how they've been added to the instance respectively. e.g via invite or otherwise.

Therefore, while using the BulkOps app for Jira, you have specifically linked an instance which for example is https://example.atlassian.net when signing up. In this case, only users from https://example.atlassian.net when deleted will be removed. If the same user exist in https://other.atlassian.net, those users won't be removed as there was no request to delete such user on the other instance.

The app doesn't perform organization user management for deletion, it is specific on instances. So it will only delete users on the instance that has been specified in the configuration settings.

Hope the above helps to answer your question?

Hello @Prince Nyeche

Thanks a lot for the explanation, it helped a lot for me.

Thanks.

Hello,

I can't seem to get this app to install. It just constantly loads during the installation process.

Thanks,

EDIT: Ignore this - I retried several times and it eventually worked.

Is this app still working? I have downloaded a list of users but can't find the id and name columns. I have tried importing and got an error code 400.

Hey @Silvano 

Your CSV file structure should look like the below image. I suggest you create it using a text editor such as Atom.io 

structure.png

To delete users, it must have two columns. The first column and each row underneath it should be for the accountId of the user, and the second column and each row underneath it should be the name of the user. Also, one other thing is that you have to make sure that the users are not disabled from your organization level.

Robert Horan Marketplace Partner Mar 03, 2022

I have serious concerns with this app.  After installing the app you need to sign in and then send information to a third party - CUSTOMER INFORMATION. 

Am I wrong?

Hey @Robert Horan 

Just to iterate on the tech stuff, this app is completely open source. You can use the source code from Github and run your own build of the app - you do not necessarily need to use the one from Atlassian marketplace (i.e if you can configure it yourself following the instructions). I made it very easy to make your own build via multiple tech stack that’s if you have any sort of security concerns or you need to ensure that the app is compliant within your organization security policies. 

With that said, the BulkOps app for Jira doesn’t store any user identifiable information as that’s a main concern for any organization. The PaaS platform I’m using to host the app is ephemeral and that makes it possible not to store any binary data (i.e files uploaded). Besides using this app, there are always other options such as using the REST API which I think its practically the same thing. Most of the time, the reason most users won't opt to that option is because of its complexity and not being familiar with code structures that's why this app exist.

Dont work for me. I export users and see the User id and User name field. IS this the same as accountid and name?

The guide is not clear at all. Please understand not everyone are very into all the details. Also using cloud which changes very often. Some up to date guide with better images would help allot. Thanks!

Even I am confused with ID and accountid ... which is the correct one?

Hey @Reza Ghorbani 

I believe you have the new admin hub and in terms of deleting Jira users yes the user id and user name column that you get from your exported file is the same as accountId and name field respectively. The example I showed as image is a sample to let users understand, that it is an "accountId" that needs to be used when constructing the file that needs to be uploaded. Just take note that an accountId is always an alphanumerical string of characters that unique identifies a user on Jira as shown below e.g

file_example_1.png

However, for Jira Service Management, the exported file still retains the same description as mentioned on this article. 

Note: "admin hub" is referring to your user management portal where your users are managed or administered. Also, the above example should be the final result of the file you want to upload. So if you've simply exported it, you have to edit the file so it looks like the above as the final result prior to upload. If you're using MS-Excel ensure that you save the file in UTF-8 character encoding.

 

@IT Team 

Both of them are referring to the same thing. AccountId is the same as "id" that uniquely identifies users on Jira. Therefore, if you're exporting the files from your instance. Just know that you can know which one is the accountId by noticing that it has a long alphanumeric string of characters. E.g

file_example_2.png

I exported all the users from JIRA through https://admin.atlassian.com/ and then just selected two users that I want to bulk delete and generated the CSV file as:


id,name
557058:XYZ123,Name1
557058:ABC123,Name2


Both the users have the status = active | billable = yes | Has access on site = No . When I try to bulk delete, I get the error: "Error! Unable to delete multiple users, check the audit log for the cause." the Audit Log shows


AuthorActivityEventsDate
MY-Admin-IDFailure in bulk user deletion of Name2ERROR: 400March 15, 2022 8:17 AM
  • Status 400 means request will not be processed

Upon checking in the Admin >> User Management, both the users still exist 

Have tried with the following CSV formats also


id,name
557058:XYZ123,Name1
557058:ABC123,Name2


username,full name
557058:XYZ123,Name1
557058:ABC123,Name2


Both get failed.

How can we resolve this?

I am seeing the same issue as 'IT Team' above. Getting a 400 error pointing to whoever the last user in the file is.

I was able to successfully use this app in mid-February but not since.

Hey @IT Team 

Your file structure isn't the problem and just to reiterate, the header name to the file doesn't really matter. You just need to ensure that the file has 2 columns and the columns must follows that format of "id" in the first column and "name" in the second column of the CSV file. i.e the CSV file must just have only 2 columns for the delete request.

Subsequently, I was running some tests and discovered that for users who doesn't have site access can have this strange behaviour. If a user is deactivated by means of no site-access (i.e. has no site access). The delete doesn't seems to work at first for some users or it works for some users even when they don't have site access (i.e. Situations where the user has no site-access and the delete still works). There's no obvious pattern to it or explanation why this occur. I believe the sum to this issue is that the API used to delete users is actually experimental. Which means the proper way it is suppose to function might change and feedbacks to Atlassian are welcome on how this API is suppose to function. 

Also, there's no pattern to it, most probably if you try it again and again, probably the delete might work for the affected user. As I ran a test and tried 3 times for one user and it was deleted while another user I've tried more than 10 times and it still gives the same error of 400.

In conclusion, there's no resolution I can provide at the moment as I will practically work on this app when I'm less busy. However, I will check what else I can do to try to alleviate this issue and I'll post the outcome back here.

Like BArry Spryng likes this

Hey folks,

Sorry for the lengthy time it took to post a response. I have been busy with a lot of other projects I'm working on and haven't had sufficient time to look into this issue properly. I'm currently only running maintenance updates (i.e. bug and security fixes if any) that may arise on the app. There are some patches I'm trying to implement. However, I'm not certain if such patches would help or not unless I test it extensively. So as part of the update I'll run some tests to determine what are the likely causes of this error and how it can be mitigated. I've opened an issue on the repo to keep track of this request.

Like Robert Horan likes this

I am getting error 403 for a bulk delete but I don't understand why it isn't accepted. Please can you help? 

Hey @Tabitha Lay 

A 403 error for a user delete action is referring to a permission issue. You might want to check the account that you registered with, if such account has the site-admin privilege. As a site-admin account is one that is capable of deleting users.

@bprice I am Org admin for our instance and have all the privileges so i can delete individual users but not on bulk which is why I want to use your app.  

Hey @Tabitha Lay 

Just to get more clarity, are you able to use the single delete feature within BulkOps app for Jira to delete a single user or do you still get the 403 error?

Comment

Log in or Sign up to comment
TAGS

Atlassian Community Events