1003 Custom App || Similar to Ucop Deactivation script

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.

  1. Users who have been created beyond a certain interval of time

  2. 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.

  1. 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”.

  2. 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:

  1. 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.

  2. User Filter:

    • Implement user filters to allow administrators to select specific criteria for deactivation.

    • Criteria include:

      1. User-Selected Groups: Administrators can choose one or more user groups from a list.

      2. Last Active Date: Administrators can specify the maximum last active date to filter users based on their activity.

      3. 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.

  3. 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)

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:

  1. User List:

    • Display a list of users based on the selected criteria.

    • Show relevant user details like username, last login date, and group membership.

  2. 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.

  3. 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

Atlassian Marketplace

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

 

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

 

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
Reset button to reset the filter
Deactivate button to deactivate the user
Deactivate Selected Users button to deactivate the check marked users (multiple users)
Next and Prev button for the pagination

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

 

Auto Deactivate Page Feature

 

Placeholder

Placeholder to enter the number of days in numbers

Button

Run Scheduler Button to perform auto-deactivation of users