These scripts generate various data from existing census JSON files collected by the jenkins.io infrastructure. More specifically:
- https://stats.jenkins.io/
- data used by the 'jenkins-plugin-info' confluence macro
The scipts will create the following files:
-
multiple SVG graphics showing different statistcs about the usage of jenkins
-
a file
<plugin-name>.stats.json
for every plugin, containing the following data (example: git-plugin - git.stats.json ):name
: the name of the plugin (as used in the filename)installations
: the number of installations for a given monthinstallationsPercentage
: the percentage of installationsinstallationsPerVersion
: the number of plugin installations for for each plugin versioninstallationsPercentagePerVersion
: the percentage of installations a specifig version of the plugin makes up
-
installations.json
: the number of jenkins installations by the jenkins core version -
capabilities.json
: a reverse cumulation of theinstallations.json
to assist plugin developers in choosing base versions for there further plugin development
-
you need to download the raw data (*.json.gz) from jenkins-ci.org
$> groovy download.groovy [pwd]
- generate the graphs
... you might have to increase the memory:
JAVA_OPTS="-Xmx4000M"
$> export LANG=en
$> groovy generateStats.groovy
The final SVGs will be in [workspace]/target/svg
- collect the data from the raw json format and store it into a local SQLite database
$> export LANG=en
$> groovy collectNumbers.groovy`
-
generate the fine grained data set (json) for each plugin
$> groovy createJson.groovy
The final json files will be in [workspace]/target/stats
- these files have to be uploaded to a webserver to make them available for the confluence plugin.
All the scripts can be reexecuted in case a failure happens, e.g. the download will only download the files it needs and collecting the numbers will only happen on the raw data which is not imported yet.