-
-
Notifications
You must be signed in to change notification settings - Fork 9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JENKINS-75350] Displays plugin health score in Plugin Manager #10351
base: master
Are you sure you want to change the base?
[JENKINS-75350] Displays plugin health score in Plugin Manager #10351
Conversation
On Plugin site the values are given in % so I would do this here as well |
Why should no score values be shown when at least on plugin is missing it? Can't we then just show |
This needs a corresponding (also conditional) change below
|
I suggest you consider adding this information to https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/hudson/PluginManager/installed.jelly -- while not as straightforward, it would help admins decide continued use of already installed plugins, especially on longer-lived instances. (If too scope-creepy, could also be added later.) |
Yes definitively. For now, I'm not "happy" with how the value are shown but couldn't think of a good way to do it. I opened the pull request so that we can discuss about it, see if we want plane values or using a card..
@mawinter69 when a instance has a custom plugin for example. Some company have developed in-house plugins and those won't have any scores. I didn't think about the
As the column definition is done in the Jelly file but I couldn't find a way to test either or not we would have the health score in it, we could have a "grey" cell when there is no health score to display.
It is my intention to have it there and in |
Potentially a chip pattern sort of thing? https://m2.material.io/components/chips There's this but might be a bit much: https://weekly.ci.jenkins.io/design-library/banner/ |
I was experimenting with something like this for suggested plugins: ![]() Maybe a progress bar around the outside could work too? |
around the outside? What do you mean? I was afraid that using a progress bar would be too much of a distraction on the page. |
The |
with 3370920, we have the score displayed on all installed, updates and available page. I've updated the pull request description with screenshots. |
@alecharp In my opinion, having a progress bar in this context would be confusing. If all users could realistically achieve a health score of 100/100, it would make sense—but in many cases, perfect isn't attainable. Seeing an always-unfinished progress bar could feel discouraging. Similarly, displaying a percentage (%) might be frustrating for users. A simple and effective alternative, commonly used with health scores, is color-coding the number using a red/orange/green scheme. I've attached an example from HubSpot, where they pair this approach with chip-style badges labeled Healthy, Neutral, and At-Risk. These text-based labels ensure accessibility for color-blind users while avoiding the negative connotation of an "incomplete" score. |
I totally agree.
well, showing
Yes, this is what we did on the plugin-site search page. However, I wanted those colours to be based on statistics on all the scores. Like, having red for anything below the 1st quartile, orange between 1st and 3rd quartile and green for anything over 3rd quartile. But we don't have those statistics in the update-center and I don't think we should / could have them there, what do you think @daniel-beck ? |
@cristina-pizzagalli I made some changes. Not yet ready to be pushed because I cannot change the colour based on the health score for now. But here what I can look like: ![]() The green would only be for scores > 90, orange for 50-90 and red for the rest. We can discuss the thresholds but know that currently:
|
Ideally we have the same thresholds as we use on plugins.jenkins.io |
I agree. I just wanted to note that static thresholds might not be great. But I'm more than ok to have the same as plugin-site. |
🚧 Requires to change color of the border based on score value
Ok, I failed to see how I can have different CSS class applied to the link based on the health score. I tried creating an helper, even a partial but I either couldn't write it correctly or use it correctly. @janfaracik if you could give me some pointer, that would be great. |
I just updated the screenshots with recent code modifications. |
The pics are not correct, what you have under updates is actually the installed page and vice versa. |
Thanks @mawinter69. Co-Authored-By: Markus Winter <[email protected]>
Thanks. Fixed.
I didn't want to disrupt users from finding the uninstalled button on the last cell of the row. But I'm not opposed to that. |
I was thinking of putting it to the right as it is also the last column on the updates and available pages. We could also put it to the left of the disable button. Just not between those buttons I think. |
See JENKINS-75350.
I'm trying to display the plugin health score within the plugin manager of Jenkins.
This is using jenkins-infra/update-center2#840.
Updates
Available
Installed
Testing done
I ran an instance locally, in development mode, using a classic update-center, one generated from jenkins-infra/update-center2#840 and one where I removed some of the plugins scores.
This allowed me to see that I have the same behaviour with current update-center, that I can display score when all the plugins have one and don't display it when at least one plugin doesn't have one.
Proposed changelog entries
Proposed changelog category
/label major-rfe
Proposed upgrade guidelines
N/A
Submitter checklist
@Restricted
or have@since TODO
Javadocs, as appropriate.@Deprecated(since = "TODO")
or@Deprecated(forRemoval = true, since = "TODO")
, if applicable.eval
to ease future introduction of Content Security Policy (CSP) directives (see documentation).Desired reviewers
@daniel-beck @timja @janfaracik
Before the changes are marked as
ready-for-merge
:Maintainer checklist
upgrade-guide-needed
label is set and there is a Proposed upgrade guidelines section in the pull request title (see example).lts-candidate
to be considered (see query).