1003 Custom App || Similar to Ucop Deactivation script
Problem Statement
We need an app that allows administrators to deactivate users based on specific criteria they select.
Users who have been created beyond a certain interval of time
Users who do not belong to user-selected groups
The app should give administrators the flexibility to choose the criteria that apply to their user deactivation process, making it a versatile tool for managing user accounts. The app should be user-friendly, efficient, and provide administrators with clear control over the deactivation process based on their selected criteria.
Current Script Implementation for UCOP
We have written scripts for the UCOP client that meet similar functions, as explained below.
Deactivate the users if they have been created beyond 30 days, have never logged in to the instance, and do not belong to "watcher-only“, ”essential accounts," "jira-administrators," or "jira-sys-administrators”.
Deactivate users if they have not logged in for 180 days since their last login and don't belong to the Watchers_Only group. If the user has product access but has never logged in, then we need to check their added-to-organization date, and if it is beyond 30 days, then we need to suspend that user
Custom App Details
We need an app that allows administrators to deactivate users based on specific criteria they select in the user interface. Below is a sample custom app description for deactivating users who meet specific criteria.
App Name: User Deactivation Manager
Description: This custom app allows administrators to manage user deactivation based on specific criteria, such as account age, login history, and group membership.
User Interface Design:
Dashboard:
A clean and intuitive dashboard that provides an overview of the user deactivation process
Display essential information like the total number of users based on the user-selected groups.
User Filter:
Implement user filters to allow administrators to select specific criteria for deactivation.
Criteria include:
User-Selected Groups: Administrators can choose one or more user groups from a list.
Last Active Date: Administrators can specify the maximum last active date to filter users based on their activity.
Schedule interval: Administrators can specify the run-on schedule interval of days (weekly, monthly, and custom).
Use checkboxes and date selectors to facilitate easy filtering based on the user-selected groups and last active date.
User-created rules:
Once the user filters the options, it will create a rule that will run based on the scheduled interval as per user selection.
Furthermore, administrators should have the permission to delete these rules directly from the user interface, providing full control over the rule management process.
Flow Diagram
Estimation
Sl,No | Tasks | Estimation(Hrs) |
---|---|---|
1 | Pre-preparation (API collection) | 12 |
2 | UI Dashboard | 23 |
3 | Backend to show the Groups list and User list and also to get the User Details like last login | 20 |
4 | Backend to perform the actions based on the user filter. | 24 |
5 | show the user-created rule in UI | 8 |
6 | App Testing | 12 |
Additional feature:
User List:
Display a list of users based on the selected criteria.
Show relevant user details like username, last login date, and group membership.
Action Controls:
Provide action controls to enable administrators to perform user deactivation tasks, like adding a delete button.
Options include:
Deactivate selected users.
Deactivate all users meeting the criteria.
Confirmation Dialog:
When administrators attempt to deactivate users, show a confirmation dialog with a summary of the action and a warning.
Include an "Execute" button to confirm the deactivation.
Success message once user access got suspended or deleted.
Similar apps in Jira marketplace
Auto-User Management:
User Management Automation – For Jira & Confluence | Atlassian Marketplace
The app works on Managed accounts across all Atlassian products (All the Atlassian accounts with email addresses from your verified domain become managed accounts.)
Bulk User Management:
Automated User Management & Auto-deactivation for Jira | Atlassian Marketplace
You can search or filter the active, inactive or all the users based on their groups.
Select the Users for bulk operation using the checkbox associated with it.
You could select the duration based on the start/end dates. This allows you to filter users based on when they last logged in.
You can apply operations like activate, deactivate or delete on the users in a bulk using Action on User dropdown. Also, you can add or remove the users from the groups in a bulk using Action on group dropdown. After selecting the required options from the dropdown, click on Apply button.
Manage Users for Jira Cloud App:
Manage Users for Jira Cloud | Atlassian Marketplace
Users are listed in a sortable table.
Deactivate/activate users individually or in bulk.
User Management by Toros:
User Management by Toros | Atlassian Marketplace
Conveniently manage and find users in an advanced user interface
Deactivate User
Select the users you want to deactivate
Click Deactivate from the Actions dropdown at the upper right corner
Auto Users Management - Deactivate inactive users
Trying to install locally, but can’t able to install it.
documentation reference: https://ilaesolution.atlassian.net/wiki/spaces/MIU/pages/385613876/Manage+Inactive+Users+for+Jira+Cloud
Possible design for custom app:
Login Page : User should add their email and API token to enter the app.
Validation Feature |
|
---|---|
Placeholder | Need to create two placeholders for Email and API token |
Button | Validate button to validate the credentials entered |
Main Page : In this page We can show the users list in tabular format.
In table, we can show full name, group name, last active and action button to deactivate the user.
Below screenshot is the possible design for the main page.
Bulk Deactivate Page Feature |
|
---|---|
Placeholder for search | Search the users by entering the username |
Dropdown | Dropdown to select the group |
Buttons | Search button to filter the users |
Checkbox | Select the multiple users by check mark the checkbox |
Auto-Deactivate Page : We can create a design to automate the deactivation of users by scheduling it at regular intervals.
Auto Deactivate Page Feature |
|
---|---|
Placeholder | Placeholder to enter the number of days in numbers |
Button | Run Scheduler Button to perform auto-deactivation of users |