The first portlet for the Pull Request Monitoring plugin was released yesterday. The Warnings Next Generation portlet is available with version 9.2.0, thanks to @uhafner for the collaboration!
I also released the version 1.7.3 with some minor fixes and improvements of the Pull Request Monitoring plugin.
I am looking forward to your feedback!
my name is Simon, I am a student of business informatics at the university of applied science in Munich and as part of my bachelor thesis I am writing a Jenkins plugin - the Pull Request Monitoring plugin.
This plugin offers a possibility to display and aggregate certain delta metrics of a pull request in a user configurable dashboard. E.g. it may show the number of added tests, the changed code coverage, the number of changed files, the number of new warnings, etc. It relies on other plugins to provide such a portlet contains the plugin specific delta metrics for a pull request. The first version with an experimental API is already available and also the first portlets for the Warnings Next Generation plugin are already in progress and will soon be available. More portlets, e.g. for the Git Forensics or Code Coverage API plugin will follow and I hope that there will be more contributors who provide portlets for their plugins and therefore for the dashboard.
How it works
Currently only multi branch pipeline projects are supported. Each run gets an action - the dashboard - if the run is part of a pull request. By default, an empty dashbaord is added to each PR build. Furthermore, there is the possibility to pre-configure the dashboard via the pipeline, so that the corresponding dashboard is automatically filled according to the given configuration.
In the dashboard itself, the configuration can then be adjusted by moving, deleting or adding individual portlets. When adding, it is also possible to deviate from the settings specified by the portlet (height, width, color) and overwrite them. For more details on how to set up and deliver such a portlet as a plugin, I would like to refer to the README.md.
For now, the configuration is saved as a user property. The default configuration is either a empty json array or the configuration of the jenkinsfile, if provided. If the user will change the default configuration in the dashboard by rearrange it or adding a new portlet, the default configuration will be overwritten and saved as custom configuration for the project.
From now on, this configuration will be regarded as the default for every build in this project. You can track the default and custom configuration in the settings modal of the dashboard, check if there are changes to the provided configuration since the last build or if the actual configuration synced with the default one. There you can also synchronise the current configuration (custom) with the default configuration, for example, the configuration was changed in the Jenkinsfile and is not displayed due to the local custom changes.
I am interested in your opinions, suggestions and wishes and would ask you to install the plugin and try it out. The plugin comes with two example portlets so that you can interact with the dashboard a bit and try it out. At the Jenkins UX SIG meeting on 28. April, there was a little live demo of the first beta version (1.0.3-beta).
Please do not hesitate to contact me if you have any questions!