It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Finding Issues Owned by Inactive Users with JQL

Is there any way I can get the list of issues reported/assigned to inactive users using JQL easily?

For example:

reporter is inactive() or assignee is inactive()

Or should I have to the the list of inactive usernames and use them like this:

reporter in ( aaa, bbb, ccc, ddd ) or assignee in ( aaa, bbb, ccc, ddd )

Thank you in advance.

12 answers

1 accepted

7 votes
Answer accepted

Yes, there is a way.

This worked for me: Create a group called, say, "jira-SomeoneWhosGone", add the 'X' inactive user into it, and search for 

  • reporter in (membersof(jira-SomeoneWhosGone))

HTH,

Mike

Well, this approach is somewhat like what i am doing. The problem is, i am not any active directory admin that i can decide on when the inactive usernames will be removed and often, the inactive accounts are moved into a group called "CleanUp". When this group gets wiped out, is totally up to the active directory administrator in my organization. I typically duplicate the username and his information as a Crowd user and marking him InActive. Then i move these users to an InActive group, which will then be used as the top most group for JIRA in Crowd application settings. This way, i am able to mark the user as an InActive one, making this status appear correctly in JIRA, mainly due to Crowd is still unable to query / get the active directory account's inactivity status into Crowd. So your approach won't work in my organization maybe due to its size and its strict policy over active directory maintenance work not delegated to JIRA application admins. Thanks for your answer. Cheers.

Like # people like this

Great idea, and no need to create new group - we all already have a group for that. You can use it to filter in Jira interface, not only in API:

  • assignee not in (membersOf("jira-software-users"))
Like # people like this

@Vilnius Ramanauskas inactive users aren't removed from the jira-software-users group by default so this will not work unless the admin manually remove users from the jira-software-users group whenever they deactivate a user.

He should do that, Jira counts jira-software-users towards your license tier. You'll end up paying more if being lazy :)

@Vilnius Ramanauskas that's not accurate, Jira doesn't count jira-software-users towards your license. Jira counts active / inactive status towards your license. You can have (and we do) more users in your jira-software-users group than users you will be billed for. See Remove users from your monthly subscription

Like Vilnius Ramanauskas likes this

Although this is closed this solution might help someone else - devised using the answers above.

No need to add to a group as the access-jira group can be used

(assignee not in (membersof(access-jira)) OR reporter not in (membersof(access-jira)) ) AND statusCategory != done

 

eg, assignee or reporter of currently open issues are currently not active users.

Thanks @Emma Baxter. Best solution so far. Just need more votes! :)

@Emma Baxter this solution won't work unless you have a group called acces-jira and is automatically updated whenever a user become inactive. Maybe older Jira accounts have a this group but our account doesn't have it.

Like Nikhil Gupta likes this

Not working with that group

JQL tricks has an inactiveUsers() function, or you could add it relatively trivially as your own function using https://jamieechlin.atlassian.net/wiki/display/GRV/Scripted+JQL+Functions.

Update: As @MattS points out below (thanks Matt), ScriptRunner has an inactiveUsers() function: https://scriptrunner.adaptavist.com/latest/jira/jql-functions.html#_inactiveusers

Thanks Jamie. However i can't find your page via your link. Can you provide a new link?

Nevermind. I found your plugin here: https://marketplace.atlassian.com/plugins/com.j-tricks.jql-plugin

Thanks. I'll look into it.

Not my plugin... happy to give a referral to the "competition" though ;-)

Like Ben Sharir likes this

You can still provide me with your plugin link though. I am open to anything right now. :) Thanks Jamie.

@Kyle: just remove the dot (".") at the end of the URL Jamie has provided

So desu ne... Thanks a bunch.

This thread is a very good question. All too often, a user may get marked as inactive but still has unresolved issues assigned to them. Then, those issues may cease appearing in certain dashboard etc due to the assignee being inactive. Also, you can't just write a query to lookup Issues that are assigned to inactive users ... because inactive usernames won't show in the JQL auto-suggest options.

So, thanks @Jamie for mentioning the JQLtricks plugin. I happen to have that, and in seconds I had my answer by using:

assignee in (inactiveUsers()) and resolution in (Unresolved)

This is a massive jira instance (so don't be shocked when I say): I can now see >400 issues assigned to inactive users. Yikes, thats not good, but at least I can measure and now go manage that :) Thanks folks.

Thanks! This one worked for us.

Just search for Assignee = {UserID}. Where {UserID} need to be replaced with the user ID of the inactive user.

Although the inactive user will not come up in JQL autocomplete but it's still searchable and there are many ways to find the userID of inactive users, here's 2 ways:

If you're the admin: go to: Site Administration > Users > Click on user name > User ID will be in your browser's URL 

Example: https://samplecompany.atlassian.net/admin/users/view?username=userID

If you're not the Admin: you can find the userID by clicking anywhere on their name (comment, mention, etc'...) > go to their profile page, the userID will be in the URL in the browser's address bar...

example: https://company.atlassian.net/people/4aa826dd544d8c1a0c124ef1

Then you can make a JQL query like: assignee = 4aa826dd544d8c1a0c124ef1

Hope this helps.

This is perfect! Thanks!!!

Like Ben Sharir likes this

Just use assignee in (inactiveUsers())

I get this error: "Unable to find JQL function 'inactiveUsers()'Screen Shot 2018-12-25 at 10.51.28 AM.png

You need the ScriptRunner Add-on for this

This worked perfectly!  Thanks!

Adding a comment here since this page comes up early in Google.

ScriptRunner now has an inactiveUsers() function too

https://scriptrunner.adaptavist.com/latest/jira/jql-functions.html#_inactiveusers

No plugin required: "assignee not in (membersOf("jira-users"))" @Vilnius Ramanauskas wins.

Perfect, .... Unless your system is integrated with AD/LDAP, in which case you need to jump through some hoops to identify the users in the first place in order to remove them from jira-users. 

True, if you allow the AD/LDAP to fully manage the user management.  Ours is integrated with LDAP, but ours is set up where we manage the users internally and just use LDAP for authentication only, so every user we want to have access we have to create and manage an account in JIRA, just leave the password stuff to the LDAP integration.  I think we were too worried about the history being broken once the user was removed.  OP didn't really specify the disappearing user problem.

1 vote

Just include this in your search "assignee in(inactiveUsers())" 

JQL Query:

assignee = X AND resolution is EMPTY

where, X= Inactive/active user whom you search for. This query list all the related tickets assigned to that person.
 

Use the free Addon Jira Misc Custom Fields

Create a new calculated textfield "Assignee.active" with

<!-- @@Formula: (issue.get("assignee").Active != null ? issue.get("assignee").Active : 0) -->

You can search in JQL for this new field, which Returns false when a user is marked inactive

Use this one to set the unassigned ones to 0

 

<!-- @@Formula:
if (issue.get("assignee") == null)
return 0;

issue.get("assignee").Active
-->

its not free anymore...

Hi @Kyle,
 If you are using Jira Server you can install the FREE app called JQL Booster Pack throught Atlassian Marketplace and use the requested functionality.

After install this app, you should be able to create a query using inactiveUsers() function, that will allow you to find issues reported/assigned to inactive users.

 

You can find the complete information about this JQL function at its Function Reference page.

Kind regards.

Thanks @Jack Nolddor -Sweet Bananas-. Our experience with free apps in Atlassian market place isn't great. We do not want to depend on free apps as they can become commercial apps.

It is entirely understandable.

Nice, I  appreciate it to be free!
I hope it stays this way.... :-)

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Jira

Demo Den Ep. 7: New Jira Cloud Reports

Learn how to use two new reports for next-gen projects in Jira Cloud:  Cumulative flow diagram and Sprint burndown chart. Ivan Teong, Product Manager, Jira Software, demos the Cumulative ...

303 views 1 3
Join discussion

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