Skip to content
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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alecharp
Copy link
Member

@alecharp alecharp commented Feb 27, 2025

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.

Screenshot Screenshot 2025-02-27 at 15 27 18

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

  • Display plugin health score from the Plugin Manager

Proposed changelog category

/label major-rfe

Proposed upgrade guidelines

N/A

Submitter checklist

  • The Jira 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.
  • 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

@daniel-beck @timja @janfaracik

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, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).

@comment-ops-bot comment-ops-bot bot added the major-rfe For changelog: Major enhancement. Will be highlighted on the top label Feb 27, 2025
@alecharp alecharp changed the title [JENKINS-75350] Displays plugin healthScore for available plugins [JENKINS-75350] Displays plugin health score for available plugins Feb 27, 2025
@alecharp alecharp changed the title [JENKINS-75350] Displays plugin health score for available plugins [JENKINS-75350] Displays plugin health score in Plugin Manager Feb 27, 2025
@timja timja requested a review from janfaracik February 27, 2025 15:53
@mawinter69
Copy link
Contributor

On Plugin site the values are given in % so I would do this here as well

@mawinter69
Copy link
Contributor

Why should no score values be shown when at least on plugin is missing it? Can't we then just show N/A

@daniel-beck
Copy link
Member

daniel-beck commented Feb 27, 2025

This needs a corresponding (also conditional) change below

to balance the potential new column.

@daniel-beck
Copy link
Member

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

@alecharp
Copy link
Member Author

alecharp commented Feb 28, 2025

On Plugin site the values are given in % so I would do this here as well

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

Why should no score values be shown when at least on plugin is missing it? Can't we then just show N/A

@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 N/A, I felt not having the scores at all would be fair to those plugins.

This needs a corresponding (also conditional) change below to balance the potential new column.

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.

I suggest you consider adding this information to https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/hudson/PluginManager/installed.jelly

It is my intention to have it there and in updates as well. This is, as this stage, not a complete pull request, that's why it is in draft ;)

@timja
Copy link
Member

timja commented Feb 28, 2025

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major-rfe For changelog: Major enhancement. Will be highlighted on the top
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants