Jenkins report jck plugin is designed to work with egtremly huge datasets 100 000 items and up.
To do this properly, some queries are not available on project page, but were moved to external cmdline tool/service
That are io.jenkins.plugins.report.jtreg.main.diff.CompareBuilds and io.jenkins.plugins.report.jtreg.main.Service classes
Unluckily, those were never designed with security in mind, were just needed "yesterday", so:
  • They reside in codebase of plugin
  • the cli is superpowerful
  • The http service is actually just wrapping the cli (really, it literaly calls the launcher, see lower)
  • default port is 9090
  • -Djenkins_home=$jenkins_main_home property is mandatory for cli (and thus indirectly for service)
  • so...
  • they need all jenkins jars on classpath
  • you need shell (or other) executbale wrapper around the CLI to set up CP and actually start the application
  • the sevice is then consuming this lancher and jsut redirects stdout/err. eg:
  • shell.sh: /opt/jdk/bin/java -cp $CP -Djenkins_home=$jenkins_main_home io.jenkins.plugins.report.jtreg.main.diff.CompareBuilds $@
  • Where the CP contains jars from unpacked jenkins.war and jenkins report pluginwith depndencies
  • service.sh: /opt/jdk/bin/java io.jenkins.plugins.report.jtreg.main.Service /path/to/shel.sh customPort
  • this field: some_url:customPort, usually, if it is on same machine, which it usually is, jenkins_url but on 9090 or custom port
  • There is work in progress ot extract the cli and service properly, and to do new cli
  • if you include diff url, new links will appear in the report
  • Those links will pre-fill service api so you can easily place advanced queries
  • Note, that jar with dependecies is default target for project. Plugin is built as -Phpi

    See jenkins-report-jck/blob/master/README.md