Jenkins Integration Portlet
More and more often, development teams adopt Continuous Integration as a good practice within development processes, and team members need to watch the results of its current work.
Jenkins is an open source continuous integration tool perfect for this goal, so many and many teams are using it as their preferred CI server.
As Jenkins provides many metrics by itself, I've decided to start a Liferay + AlloyUI + Jenkins integration portlet that allows to display tests results in an easy and portal-deployable way. For that, a Liferay portal Admin, can deploy this portlet in his portal, allowing its users to watch last builds tests results, in an user-friendly style, using AlloyUI built-in cappabilities.
Below there are some screenshots of the current portlet, contributed by my UX friend @jhidalgoreina, thank you very much!:
There is a properties files under 'docroot/WEB-INF/src' named portlet.properties. This file contains some properties with empty values for connecting to your Jenkins server, even if it is under a web server with Basic Authentication. You can extend that file with the -ext name convention, creating a portlet-ext.properties, where you will put custom values for your application, using a Base64 encoding for your password.
- Add a link to the Jenkins build on each item in the builds list of Stack mode
- Apply Bootstrap fluid styles
- Minor look&feel fixes
- Supports saving a very basic way to define aliases for builds, using this pattern: JOB_NAME|JOB_ALIAS. This way long named builds can be shorten by an alias.
- Do not display PENDING status, displaying previous build result instead.
- Fix minor bugs
- Supports a new different display mode: jobs stack, where you can define multiple jobs that will be displayed in a stack, ordered by last build status
- Each portlet instance holds its basic authentication, because the portlet could be configured to be connected to different systems
- Supports processing job names by a custom processor: i.e. removing dashes from job names
- Fix minor bugs
- Supports two different display modes: default (as before), and a new one as a traffic light: red/green status depending of last build status
- Supports Basic Http Authentication
- Job name is configurable
- Maximum number of builds to display is configurable
- Chart types: dotted (default) and columns
- Supports stacked representation of data
- Supports displaying several build outputs: Passed tests count, Skipped tests count, Failed tests count and Total tests count
This library, "Jenkins Integration Portlet", is free software ("Licensed Software"); you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; including but not limited to, the implied warranty of MERCHANTABILITY, NONINFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA