Move resource management to dedicated Manage Jenkins subpage and modernize UI#1035
Open
adityajalkhare wants to merge 8 commits into
Open
Move resource management to dedicated Manage Jenkins subpage and modernize UI#1035adityajalkhare wants to merge 8 commits into
adityajalkhare wants to merge 8 commits into
Conversation
added 2 commits
May 17, 2026 03:36
…rnize UI Fixes jenkinsci#1021, fixes jenkinsci#964, fixes jenkinsci#1018 - Convert LockableResourcesRootAction from RootAction to ManagementLink under Manage Jenkins > Configuration category - Use settings-subpage layout with Jenkins-native app-bar and tabs - Remove data-tables-api dependency; use native jenkins-table sortable - Add client-side pagination with localStorage persistence - Add resource CRUD (create, edit, delete) via JSON API endpoints - Add filter/search: structured filter for resources tab (name, label, status), text search for labels and queue tabs - Add resource property management (key-value pairs) in add/edit dialogs - Simplify Global Config page to only retain the two behavior toggles (allowEmptyOrNullValues, allowEphemeralResources) with a notice linking to the new management page - Replace Bootstrap tab markup with capsule-style tab bar matching Jenkins Dashboard design - Use event delegation for all button handlers - Add ManagementLinkTest and ResourceManagementTest (28 tests)
Author
|
The test that failed, |
Author
|
@mPokornyETM @MarkEWaite please review |
Author
|
Added video demos |
Contributor
|
I like the new layout, it looks good, and adding/changing resources from within the table is nice. Some things I noticed:
|
Author
The old config was done using a repeatable form which allowed drag and drop to reorder resources. The current config, using table, allows view-only sorting using column headers. So - as per my understanding, without any hacks or massive workarounds, we cannot reorder the persisted XML using UI. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Lockable Resources now has its own page under Manage Jenkins, replacing
the old Global Configuration form for resource management. The UI is rebuilt
using native Jenkins components, dropping the
data-tables-apidependency.For users
Before: Resources were added/edited in Manage Jenkins > System inside a
long repeatable form mixed with other system settings. The overview page at
/lockable-resources/used DataTables and Bootstrap, which broke underJenkins experimental UI flags.
After:
(under the Configuration category). All resource operations live here now.
the "Add Resource" button and per-row edit/delete actions. No need to visit
Global Configuration to manage resources.
filter by name, label, or status (free/reserved/locked/queued). On Labels
and Queue tabs, use text search.
saved in the browser.
new-build-page, new-job-page, and new-manage-jenkins experimental flags.
(Allow empty or null values and Allow ephemeral resources) with a link
to the new management page.
/lockable-resources/continues toserve the page (now at
/manage/lockable-resources/).Screenshots/Demo
New Experimental UI -
Screen.Recording.2026-05-19.at.11.49.57.PM.mov
Existing Stable UI -
Screen.Recording.2026-05-19.at.11.52.20.PM.mov
Fixes
Fixes Move lockable resources configuration to separate section #1021 - Move lockable resources configuration to separate section
Fixes Redesigned dashboard: Lockable Resources page #964 - Redesigned dashboard: Lockable Resources page broken with
experimental UI flags
Fixes Strange UI situation #1018 - Strange UI situation (same root cause as Redesigned dashboard: Lockable Resources page #964)
Partially addresses Concern: is editing all resource fields via global config page safe? #143 - Resources are no longer editable from the global configuration page, reducing the risk of accidental state corruption
Addresses Improvement on the UI/UX of the data table #496
Partially addresses admin role for add\remove\unreserve resource #287 - ADMINISTER gates add/edit/delete, VIEW gates page access --- MAYBE, the scope is unclear in that PR
Changes by area
Backend (
LockableResourcesRootAction.java)RootActiontoManagementLinkunderCategory.CONFIGURATIONdoCreateResource(form + JSON),doEditResource(JSON),doDeleteResourceendpoints with proper HTTP status codesFrontend
data-tables-apidependency frompom.xmljenkins-table sortabledialog.modalanddialog.confirmGlobal Config (
config.jelly)Tests
ManagementLinkTest(7 tests): registration, category, URL, icon,permissions
ResourceManagementTest(21 tests): CRUD, duplicate/404/423 handling,JSON API, permission checks, page structure
Testing
new-build-page,new-dashboard-page,new-job-page,new-manage-jenkinsChecklist
Upgrade guidelines
N/A