Jenkins : Plugin Site Information for Plugin Developers

This page explains how the plugins site works. The intended audience is plugin developers.

This is not a manual on how to use the site to e.g. find plugins, but rather explains how it gets its data and how plugin developers can change the data on it.

Data shown on the plugins site

Which plugins are listed? How can I make my plugin appear?

All plugins published to the current (weekly) update center are listed.

What is the plugin installation trend based on?

This uses the monthly data from http://stats.jenkins.io/ as gathered from Jenkins instances that have not opted out of reporting data.

Learn more: https://wiki.jenkins-ci.org/display/JENKINS/Usage+Statistics

What does "most installed" mean?

This ranks plugins by the number of different Jenkins instances that reported the plugin installed during the previous month.

What does 'Recently updated' mean?

This is based on metadata created by the update site generator, which uses the creation date of a plugin release.

Note that very recent plugin releases may not appear here due to caching and delays in data aggregation.

What does 'Trending' mean?

This is an attempt to capture the plugins whose popularity is growing rapidly. As we only have the monthly installation stats for this, it's necessarily a worse approximation than what you'd likely see e.g. in app stores.

Currently (2016-11) this just divides the previous month's install count by the month before that. Plugins with the greatest numbers are shown in descending order.

What are categories based on?

Categories are based on the labels on plugin wiki pages. Those with the plugin- prefix are passed through update site generation and will appear in update-center.json (which gets downloaded by Jenkins, where these labels also serve to group plugins in the Plugin Manager).

The categories are filtered, grouped, and given nicer names based on plugin site configuration here: https://github.com/jenkins-infra/plugin-site-api/blob/master/src/main/resources/categories.json

Some categories that we expect wouldn't mean a lot to users who aren't plugin developers themselves have been filtered out ("plugin wrappers"?).

Where does the description of the plugin come from? Isn't this just the wiki page?

The plugins site scrapes the plugin's wiki page, transforms it a bit (e.g. makes table of content links not link to wiki.jenkins-ci.org, but to the plugin site), and caches it.

Changes to plugin wiki pages will therefore take effect with some delay on the plugin site.

What is the maintainer information based on?

These are taken from the plugin's latest released version's metadata, and additionally (if not redundant) includes the user who released that version.

What's the data source for Version, Dependencies and Display Name?

These are all taken from the plugin's latest released version's pom.xml metadata.

Implicit dependencies (plugins split from core) are currently not included.

Data collection and caching

Wiki page data

The plugin site caches wiki pages as needed. The cached copy of each wiki page is marked invalid after several (2017-04: six) hours.

Statistics and other plugin metadata

The data for the plugins site is periodically collected based on the stats.jenkins.io data and the current update-center.json, and made available to the plugins site at a known URL.

The plugins site periodically (2017-04: every hour) updates its internal storage from that URL.