Skip to content

UI: Modernize TestNG plugin UI and align with Jenkins Design Library - #397

Open
Ahil-Kanna wants to merge 4 commits into
jenkinsci:masterfrom
Ahil-Kanna:feature/ui-modernization
Open

UI: Modernize TestNG plugin UI and align with Jenkins Design Library#397
Ahil-Kanna wants to merge 4 commits into
jenkinsci:masterfrom
Ahil-Kanna:feature/ui-modernization

Conversation

@Ahil-Kanna

@Ahil-Kanna Ahil-Kanna commented Aug 24, 2026

Copy link
Copy Markdown

Overview

This PR modernizes the TestNG plugin's frontend to seamlessly align with the modern Jenkins UI and the Jenkins Design Library. It actively ports and adapts design patterns similar to the JUnit plugin.

Key UI & UX Improvements

  • Standardized Layouts & Navigation: Replaced bare <h1>/<h2> headers with <l:app-bar> (featuring pass/fail/skip count chips) and wrapped distinct sections inside <l:card>. Sub-pages now properly utilize <l:run-subpage> to retain the standard job navigation sidebar.
  • Modernized Tables: Applied jenkins-table styling across the board. Collapsible tables now use <l:card> controls with SVG chevrons rather than outdated plain-text links.
  • Graph Enhancements: Trend and duration graphs now utilize a modern green/red/amber palette, flat bars, high-DPI scaling (scale=2), and full dark mode support via query parameters and client-side theme detection.
  • Iconography & Toggles:
    • Migrated the main plugin icon to Jenkins Symbols (symbol-testng), resolving severe scaling issues on the upcoming experimental build-page top header.
    • Upgraded exception stack trace toggles to tertiary button SVGs (chevron-down/chevron-up) and enclosed traces within <details>/<summary> blocks featuring one-click copy buttons.

Breaking Changes

Baseline Bump: The jenkins.baseline is explicitly bumped to 2.541 (BOM 6931.vea_a_b_c6fd017d). This is strictly required to leverage native <l:card> elements without manually reimplementing core Jenkins UI. This matches Junit plugin's baseline

Testing Done:

Verified table layouts, graph rendering in both light and dark modes, and ensure the action icon scales correctly in the new experimental UI header.

- Bump Jenkins baseline to 2.541 to utilize native `<l:card>` elements.
- Standardize tables with `jenkins-table` and update status badges.
- Replace bare headers with `<l:card>` and `<l:app-bar>`.
- Wrap sub-pages in `<l:run-subpage>` to preserve job navigation.
- Modernize trend/duration graphs with dark mode support and high-DPI scaling.
- Migrate action icon to Jenkins Symbols (`symbol-testng.svg`) to fix layout scaling.
- Replace text toggles with tertiary icon buttons and standard SVG chevrons.
@github-actions github-actions Bot added dependencies Dependency related change documentation Improvements or additions to documentation tests Automated test addition or improvement labels Aug 24, 2026
@Ahil-Kanna
Ahil-Kanna marked this pull request as ready for review August 24, 2026 12:25
@Ahil-Kanna
Ahil-Kanna requested a review from a team as a code owner August 24, 2026 12:25
@MarkEWaite MarkEWaite added enhancement Improvement or new feature and removed dependencies Dependency related change documentation Improvements or additions to documentation tests Automated test addition or improvement labels Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improvement or new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants