Skip to content

Refine how administrative monitors are displayed#26417

Draft
mawinter69 wants to merge 2 commits intojenkinsci:masterfrom
mawinter69:issue-18321
Draft

Refine how administrative monitors are displayed#26417
mawinter69 wants to merge 2 commits intojenkinsci:masterfrom
mawinter69:issue-18321

Conversation

@mawinter69
Copy link
Contributor

@mawinter69 mawinter69 commented Mar 5, 2026

Introduce a l:adminMonitor tag lib to unify how administrative monitors are shown to the user. By default admin monitors are shown with severity warning and get a small close button in the top right. This button will expand to a given value when hovering. When clicked the existing doDisable method is called via javascript to dismiss (disable) the monitor and on success the corresponding monitor is removed from the DOM. This avoids that a reload of the page has to be done.

This change also adjusts how many monitors act when clicking buttons. Frequently they implemented a doAct method, that depending on parameters (clicking form buttons usually) either dismissed the monitor or forwarded to another url. Buttons that did nothing but forwarding to another url now directly render an a element with the url avoiding the call to the doAct method.

This changes all admin monitors in Jenkins core. Monitors in plugins will need to adopt to the new taglib.

Fixes #18321

Testing done

  • Tested that all monitors work as before
  • Tested with old manage Jenkins page
  • Tested with new Manage Jenkins page

Screenshots (UI changes only)

tbd

Before

After

Screenshots Old Manage page: image

New manage page:
image

Video:
https://github.com/user-attachments/assets/424d0d39-dc04-459f-885f-568b0f815b03

Proposed changelog entries

  • Refine how administrative monitors are displayed

Proposed changelog category

/label rfe,web-ui

Proposed upgrade guidelines

N/A

Submitter checklist

  • The issue, if it exists, is well-described.
  • The changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developers, depending on the change) and are in the imperative mood (see examples). Fill in the Proposed upgrade guidelines section only if there are breaking changes or changes that may require extra steps from users during upgrade.
  • There is automated testing or an explanation as to why this change has no tests.
  • New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadocs, as appropriate.
  • New deprecations are annotated with @Deprecated(since = "TODO") or @Deprecated(forRemoval = true, since = "TODO"), if applicable.
  • UI changes do not introduce regressions when enforcing the current default rules of Content Security Policy Plugin. In particular, new or substantially changed JavaScript is not defined inline and does not call eval to ease future introduction of Content Security Policy (CSP) directives (see documentation).
  • For dependency updates, there are links to external changelogs and, if possible, full differentials.
  • For new APIs and extension points, there is a link to at least one consumer.

Desired reviewers

@mention

Before the changes are marked as ready-for-merge:

Maintainer checklist

  • There are at least two (2) approvals for the pull request and no outstanding requests for change.
  • Conversations in the pull request are over, or it is explicit that a reviewer is not blocking the change.
  • Changelog entries in the pull request title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood.
  • Proper changelog labels are set so that the changelog can be generated automatically.
  • If the change needs additional upgrade steps from users, the upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the pull request title (see example).
  • If it would make sense to backport the change to LTS, be a Bug or Improvement, and either the issue or pull request must be labeled as lts-candidate to be considered.

@comment-ops-bot comment-ops-bot bot added rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted web-ui The PR includes WebUI changes which may need special expertise labels Mar 5, 2026
@timja
Copy link
Member

timja commented Mar 6, 2026

cc @janfaracik thoughts?

Thanks for doing this!

Generally looks great.

My only concern is around the different button sizes on the same row.
image

Could be handled by making them all the same size? Possibly using the same approach with an icon that changes to text on hover?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted web-ui The PR includes WebUI changes which may need special expertise

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[JENKINS-69787] Dismiss buttons in Admin monitors should use an (x) for dismissing

2 participants