Badge

πŸ› Bug fixes

πŸ“ Documentation updates

🚦 Tests

πŸ“¦ Dependency updates


Installation options

πŸš€ New features and improvements

πŸ“¦ Dependency updates

  • Update dependency io.jenkins.tools.bom:bom-2.479.x to v3654 (#209) @renovate

Installation options

πŸ‘» Maintenance

πŸ“¦ Dependency updates


Installation options

πŸš€ New features and improvements

  • Backwards compatibility for color references (#200) @cronik
  • Provide built-in css classes for text badges (#201) @cronik

πŸ“ Documentation updates

  • Provide built-in css classes for text badges (#201) @cronik

Installation options

πŸ› Bug fixes

πŸ“ Documentation updates

πŸ“¦ Dependency updates

  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3435 (#197) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3413 (#195) @renovate
  • Update dependency org.jenkins-ci.plugins:plugin to v4.88 (#193) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3387 (#192) @renovate

Installation options

πŸ› Bug fixes


Installation options

πŸš€ New Major Version

The Badge Plugin has been completely reworked to overcome some limitations and bugs of previous versions and in order to be easier to maintain.
This release is expected to not cause incompatibilities with existing pipeline definitions and configuration on a technical level but may introduce some (minor) visual changes to existing badges and summaries. See the following secions as well as #151 and the README for more details.

In case you find a bug or potential incompatibility that may have slipped the extensive testing please do not hesitate to create a new issue.

πŸ’₯ Breaking Changes and Deprecations

The new new major version 2.0 is marked as be incompatible with previous versions and deprecates most of the previous pipeline steps and fields for these steps.

πŸ’₯ Incompatible downstream plugins

As of now the following plugins are incompatible with Badge Plugin 2.x:

Users of these plugins are advised to upgrade the Badge Plugin alongside compatible releases of the respective plugin.

πŸ’₯ HTML formatting delegated to global Jenkins MarkupFormatter

  • Breaking: Remove Badge Plugin global configuration
    • This will mostly affect usage in JCasC but also may impact some visualization, see next points
  • All text is formatted using Jenkins.get().getMarkupFormatter().translate()
    • Breaking: It is no longer possible to use non-sanitized HTML in badges (unless there is a MarkupFormatter for it)
    • This is a huge security improvement that prevents any malicious injections via HTML / JavaScript and makes configuration easier

❓ What does that mean? Why is my text not rendered as HTML anymore?

As of now there are multiple MarkupFormatter implementation available. The default that is shipped with Jenkins is Plain Text that will not render any HTML or any other markup languages.

In case you find that your badges or summaries created by the Badge Plugin are no longer rendering HTML in their texts, it is likely caused by the configured MarkupFormatter being Plain Text.

To render HTML in badges and summaries you will need to change the global Jenkins Configuration to use Safe HTML provided via OWASP Markup Formatter.
See the README for details.

❓ My Jenkins Configuration as Code (JCasC) fails to start Jenkins, what can I do?

Since the global plugin configuration got removed, the JCasC directives such as

jenkins:
  security: 
    badgePlugin:
      disableFormatHTML: false

are no longer valid and should be removed or better replaced by configuring Jenkins global MarkupFormatter

jenkins:
  markupFormatter:
    rawHtml:
      disableSyntaxHighlighting: true

🚧 Deprecations

At this point it is not clear when or if these deprecations will be removed, however use is discouraged and there are no plans to maintain deprecated functionallity.

  • Deprecate addHtmlBadge (can be substituted by addBadge)
    • Remains backwards compatibility for existing pipelines and configs
    • Add deprecation notices to build output
  • Deprecate addShortText (can be substituted by addBadge)
    • Remains backwards compatibility for existing pipelines and configs
    • Add deprecation notices to build output
  • Deprecate createSummary (can be substituted by addSummary)
    • Remains backwards compatibility for existing pipelines and configs
    • Add deprecation notices to build output
  • Remove all documentation of deprecated badges

πŸš€ New features and improvements

πŸš€ addBadge reworked

  • Refrain from building CSS styles or classes in jelly but rather have them as user input
  • All text can be plain text or HTML (with Safe HTML MarkupFormatter enabled)
  • Can be used for both, text and icon badges
  • Supports built-in icon, Jenkins icons and symbols as well as icons and symbols of other plugins
  • New fields:
    • id - optional identifier of the badge
    • text - text used for the badge or the hover text when an icon is selected
    • icon - icon used for the badge
    • cssClass - optional CSS class to be applied to a badge
    • style - optional CSS style to be applied to a badge
    • link - optional link for a badge

πŸ‘·πŸΌ addInfoBadge , addWarningBadge, addErrorBadge reworked

  • Inherit directly from addBadge

πŸš€ New addSummary

  • Substitutes createSummary and has all feature the other badges have
  • Allows having a link in the summary

πŸš€ Manipulate a badge during build time

  • All pipeline steps now return the action that was created and allow to manipulate a badge in a pipeline
    def badge = addBadge(icon: 'everything-is-awesome.png', text: 'All is good!')
    ...
    badge.setText('Somehing bad happened!')
    badge.setIcon('everything-is-on-fire.png')
    

πŸ€– Generated Changelog

πŸš€ New features and improvements

πŸ“ Documentation updates

✍ Other changes

πŸ“¦ Dependency updates

  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3358 (#186) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3334 (#185) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3307 (#183) @renovate
  • Update dependency org.jenkins-ci.plugins:plugin to v4.87 (#182) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3289 (#181) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3276 (#180) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3271 (#179) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3258 (#178) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.440.x to v3234 (#175) @renovate
  • Update dependency org.jenkins-ci.plugins:plugin to v4.86 (#173) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.426.x to v3208 (#172) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.426.x to v3193 (#170) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.426.x to v3180 (#169) @renovate
  • Update dependency org.jenkins-ci.plugins:plugin to v4.85 (#168) @renovate
  • Update dependency org.jenkins-ci.plugins:plugin to v4.84 (#167) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.426.x to v3157 (#166) @renovate
  • Update dependency io.jenkins.tools.bom:bom-2.426.x to v3143 (#165) @renovate
  • Configure Renovate (#163) @strangelookingnerd
  • chore(deps): bump io.jenkins.tools.bom:bom-2.426.x from 3120.v4d898e1e9fc4 to 3135.v6d6c1f6b_3572 (#162) @dependabot
  • chore(deps): bump org.jenkins-ci.plugins:plugin from 4.82 to 4.83 (#160) @dependabot
  • chore(deps): bump io.jenkins.tools.bom:bom-2.426.x from 3105.v672692894683 to 3120.v4d898e1e9fc4 (#161) @dependabot
  • chore(deps): bump io.jenkins.tools.bom:bom-2.426.x from 3080.vfa_b_e4a_a_39b_44 to 3105.v672692894683 (#159) @dependabot

Installation options

πŸ› Bug fixes

✍ Other changes

πŸ“¦ Dependency updates

  • chore(deps): bump io.jenkins.tools.bom:bom-2.426.x from 3056.v53343b_a_b_a_850 to 3080.vfa_b_e4a_a_39b_44 (#157) @dependabot

Installation options

πŸ› Bug fixes

πŸ“ Documentation updates

πŸ“¦ Dependency updates

  • chore(deps): bump io.jenkins.tools.bom:bom-2.426.x from 3041.ve87ce2cdf223 to 3056.v53343b_a_b_a_850 (#155) @dependabot

Installation options

πŸ’₯ Breaking changes

  • Move configuration as code setting from the unclassified section to the security section (#150) @strangelookingnerd

πŸš€ New features and improvements

πŸ› Bug fixes

πŸ“ Documentation updates

πŸ‘» Maintenance

🚦 Tests


Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options
Installation options