Skip to content

Releases: jan-molak/jenkins-build-monitor-plugin

Badges, badges, badges!

16 Jan 01:14
Compare
Choose a tag to compare

Have you ever wanted to make the code coverage, compiler warnings or some other build stat more visible? Well, now you can!

screen shot 2017-01-15 at 22 38 05

This build brings a number of other improvements too:

  • The status of the External Build Jobs is displayed correctly (#265, #266) - thanks @hschink!
  • The animated build progress bar is displayed correctly in IE11/Edge (#272)
  • Even though the anonymous analytics were not gathered if you opted out, the script was still loaded causing an unnecessary HTTP request. This is no longer the case. (#276) - thanks @larsrh!
  • Instead of displaying the description of a failure set by the Build Failure Analyzer, Build Monitor now display its name making the information much more concise #275 - thanks @patrickdepinguin!

To set a badge:

  • Install the Groovy Post-Build Plugin
  • Add a Groovy Postbuild post-build action to a Jenkins project of your choice
  • Configure the Groovy script to call either:
    • manager.addShortText(textToDisplay) which sets a badge with default colours
    • manager.addShortText(textToDisplay, textColour, backgroundColour, borderWidth, borderColour) which sets a badge using custom CSS attributes. For example: manager.addShortText('Deployed', 'black', '#b4d455', '1px', 'green')

The above steps are documented in the acceptance tests, together with the accompanying screenshots.

The cool thing about the Groovy Postbuild plugin is that it has access to quite a lot of your build data via Jenkins core APIs, which you can see in their examples.

If you wanted to show the number of failing unit tests, for example, you could read the data from the TestResultAction object and configure the Groovy Postbuild action as follows:

def result = manager.build.testResultAction.result
def total  = result.totalCount
def failed = result.failCount

manager.addShortText(failed + " / " + total + " failed")

🗣 What information are your badges going to show? And how are you going to script it? Let me know on twitter and maybe we could compile a little cookbook for the Build Monitor Community :-)


You might be aware that I've been busy working on Serenity/JS, a next generation acceptance and regression testing library.

If you're working with modern web apps and have "learn some new tools" on your list of New Year's Resolutions or you're interested in doing acceptance testing at scale, please check out serenity-js.org and let me know what your think!

Best,
Jan


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

"Aborted doesn't mean Failing"

12 Nov 21:40
Compare
Choose a tag to compare

Hello and thanks for keeping your Build Monitor up to date, you're awesome! 👍

This release introduces changes to how the builds are rendered to help you better distinguish aborted, failing and disabled builds:

  • aborted builds are no longer rendered as failing (#260, #264) - thanks @deiga!
  • disabled builds are easier to distinguish from aborted ones as their names are now struck-through
  • oh, and Build Monitor also supports IE's Compatibility View (#259) - thanks @GMZwinge!

Plug: If you're interested in automated acceptance testing of your JavaScript and TypeScript projects, you might want to check out Serenity/JS - my latest open-source library, featured in DZone and presented at Devoxx 2016 last week.

Best,
Jan


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

Flattr Button

Everything you always wanted to know about your builds

03 Aug 14:20
Compare
Choose a tag to compare

This release comes with quite a few new features, bug fixes as well as performance and accessibility improvements. Sit back, grab a cup of your afternoon hot beverage of choice, ask Jenkins to upgrade Build Monitor to the latest version and enjoy reading the release notes ;-)

It's all in the headline

With this release, Build Monitor will tell you quite a few new things about your builds!

For example:
aborted build

  • When a build gets aborted, you'll know who aborted it. Also, an aborted build is now easier to distinguish from a failing one (#103, #218)
    new headlines
  • When a build is fixed, the brave engineer who fixed it can have their moment of glory when their name appears on the screen - thanks for the idea @yveshanoulle and for the implementation @ChadiEM 👍 (#202, #250)
  • When a build contains new code changes, you'll know whose changes are being built (#164)
  • ... or not! Because displaying people's names is now optional, so if you prefer Build Monitor to be a bit more discreet and keep this knowledge to itself, untick the "Display committers" option in the Build Monitor view settings (#243, #203).

Having said that, please remember that claiming a broken build also hides the names of possible culprits! It is also a great way to show that someone is actively working on addressing the failure.


html in description

You've also asked for the Build Monitor to support HTML content set using the Build Description Setter Plugin, such as links. Good news, you can do this now too! (#238, #222).
By the way, to prevent any XSS vulnerabilities, only regular, safe HTML works.


OK, so now onto the accessibility features!

Accessibility

reduce motion in accessibility settings

- The amount of animation Build Monitor uses can be reduced to make the screen a bit easier on your eyes when there are multiple jobs in progress. You can enable this feature by ticking **"Reduce Motion"** in the settings (#184) - You've probably also noticed the new slider component? I've replaced the old one in favour of [rzSlider](https://github.com/angular-slider/angularjs-slider) as it **supports click events** and it's much easier to use on smart TVs (#217) - A bug that caused the state of "Colour blind mode" setting check box to be reflected incorrectly when the browser was reloaded got squashed now too.

Performance

There are quite a few improvements here as well:

  • Build Monitor needs much less CPU power, which should make the life of Raspberry PIs and laptop batteries a little bit easier (#230)
  • Also, the memory consumption over prolonged sessions on machines with no access to the Internet has been reduced (#200)

I've also done a lot of work refactoring the codebase so that it's easier to introduce new features and make Build Monitor even more useful, for example:

  • the project no longer uses the ancient Angular 1.1, it's now on nice 'n' shiny 1.5.8
  • a JobView model is now a composite of different features that a job might have. This should make adding support for pipelines and folders a lot easier.
  • also thanks to @SosoTughushi for helping out with making Sonar happier 😃 (#236, #237)
  • and to @TobiX for potenially resolving the problem with proxy servers cashing the CSRF token (#166)

Phew, that was quite a bundle!

Please upgrade your Build Monitor as soon as you can, give this project a ★ if you find it useful and feel free to ping me on Twitter @JanMolak if you have any questions or feedback!

All the best,
Jan Molak

Ps.
I've been getting plenty of positive feedback and quite a few questions after my talks on the Screenplay Pattern and scalable BDD.

I've also answered some of the questions related to applying SOLID design principles to acceptance tests in this article. So if you still have your hot beverage of choice, I invite you to finish it while reading the article and tell me what you think in the comments! 😃


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

Flattr Button

Show test failures with Build Failure Analyzer

13 Jun 13:48
Compare
Choose a tag to compare

This release brings support to some of the new features of the Build Failure Analyzer Plugin, closing #148, #170 and #228.
In short, you can now provide your fellow devs with more detail when the reason of a build failure is found.

How do you do this? As I continue to replace a traditional user guide with acceptance tests, I'll suggest that you follow an example from the new acceptance test: "Displaying the number of failed tests" and let me know if you found it easy to follow 😃

Of course, displaying the number of failed tests is just one example usage! Will you use this feature for any other purpose? Let me know!

scaled_81e09cd2c6d6e9ae1edcd4c15168247f

I'm looking forward to hearing your thoughts on the latest changes, and don't forget to 👍 the ideas and suggestions you'd like to see implemented next!

Oh, and one more thing! I'm planning to write an article on how the Screenplay Pattern and Serenity BDD are used on Build Monitor. If you don't want to miss it, follow me on Twitter and Medium!

Best,
Jan Molak


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

Flattr Button

Custom build descriptions

05 Jun 23:48
Compare
Choose a tag to compare

Say hello to custom build descriptions! This feature should make it a little bit easier to display the revision number, the person who started the build, or anything else that you can get hold of in the console output of your builds.

To use it, install the Description Setter plugin and follow the instructions as per "Displaying A Custom Build Description" acceptance test:

screen shot 2016-06-06 at 00 03 09

to get something like this:

scaled_db7b27db08bc73da24fe5fa9a1bb6241

On top of that, this release also brings:

  • ability to sort displayed projects by their estimated duration (including upstream projects) - #220 - Thanks @eribau!
  • a fix to #224, where the progress bar didn't display the colour-blind friendly background pattern

Fun fact: All Build Monitor acceptance tests are written using the Screenplay Pattern and executed with Serenity BDD. That's how I get those cool test reports you've just seen a screenshot of above.

If you'd like to learn more about it, read my recent article "From Acceptance Tests to User Guides: Living Documentation with Serenity BDD and the Screenplay Pattern".

You might be also interested in some of my other articles, such as:

I'm looking forward to hearing your thoughts on the latest changes, and don't forget to 👍 the ideas and suggestions you'd like to see implemented next!

Best,
Jan Molak


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

Flattr Button

Support for Jenkins 2.0

02 May 13:58
Compare
Choose a tag to compare

Jenkins 2.0 is out and you can enjoy it even more now that Build Monitor is compatible with it.

This release introduces:

  • Support for Jenkins 2.0 and its new CSRF breadcrumbs, #215
  • Further improvements to the font scaling algorithm so that Build Monitor is more readable, #196 and #214.
  • Better handling of impatient proxies that don't give Jenkins enough time to respond, #197
  • New configuration option to order projects by their last execution time, #113. Thanks to @Dudssource :-)

By the way, if you're interested in software craftsmanship, quality and modern delivery practices, you might want to check out my new blog at janmolak.com.

As always - I'm looking forward to hearing your thoughts and hope that you find Build Monitor useful!

Best,
Jan Molak


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

Flattr Button

Further improvements to the UI

12 Jan 00:16
Compare
Choose a tag to compare

Clean up of the UI continues! This release brings following improvements:

  • #165 - the vertical scrollbar is displayed only when the number of jobs exceeds what can comfortably fit the screen
  • #192 - the progress bar no longer overlaps the job name, so Build Monitor looks better on Chromium 22 running on a Raspberry Pi
  • #190 - the auto-suggested font size is slightly larger to make sure that you can read who and what broke the build without squinting too much ;-)

I'm looking forward to hearing your thoughts on the latest changes!

Fun fact: Did you know that Build Monitors across the globe display between several to several hundred jobs per screen across over 200 different screen resolutions? It's not easy to test all the possible combinations, so I'm relying on your feedback to find out what works best for you 😃

Best,
Jan


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

You can also sponsor a feature on bountysource!

Flattr Button

Tons of projects? Bring them on!

05 Jan 20:38
Compare
Choose a tag to compare

This release makes the Build Monitor UI just a little bit smarter:

  • The base size of the font is automatically adjusted based on the number of dashboard rows displayed (closes #165 and quite possibly #172)
  • You can still tweak the size of the font to make it up to 3x smaller or 2x larger than what's suggested
  • If the number of widgets displayed becomes greater than what can comfortably fit on the screen, the dashboard becomes scrollable (closes #124)

Oh, the versioning scheme has changed to decouple the Build Monitor version number from the environment where the project is built (i.e. the Jenkins build number).

Now, instead of <major>.<minor>+build.<build number> you'll see <major>.<minor>+build.<timestamp>.

By the way, if you'd like to find out how to make Maven version your project in a similar fashion, check out my new Release Candidate maven plugin and the new pipeline.groovy Workflow script I use to build the Build Monitor to see how to use Release Candidate with Jenkins (or any other CI server for this matter).

As always - I'm looking forward to hearing your thoughts and hope that you find Build Monitor useful!

Best,
Jan Molak


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

You can also sponsor a feature on bountysource!

Flattr Button

On top of your updates, on top of your builds!

29 Nov 17:40
Compare
Choose a tag to compare

Hello!

This version of Build Monitor brings quite a few changes, so grab your beverage of choice and enjoy reading the change log 😄

  • The way "culprits" are displayed has been changed significantly to address issues #138 and #151.
    Turns out that Jenkins doesn't cache culprit names and looks them up every single time the #getCulprits method is called. As there is no caching built-in and the call itself is expensive, this resulted in Build Monitor taking a performance hit in situations where a build's been failing for a long time and there was a large number of committers who pushed their changes over such broken build...
    Now, even though committing over a broken build or leaving it broken are "Bad Things To Do"®, this is no excuse for Build Monitor being sluggish ;-)
    As the second conclusion I came to was that displaying a long list of culprits wasn't particularly useful anyway, the new approach is this:
    If the build is broken - display the author(s) of the offending commit:
    build-failed
    If there's a number of failed builds, display how many exactly:
    1-build-has-failed-since
  • To help you keep up to date, Build Monitor will now check if there's been a new release since your last update and display a subtle notification if that's the case:
    new version available new version available detail
  • Also, the version of your Build Monitor is displayed in the footer so you don't have to be a Jenkins administrator to see if you're up to date:
    version in the footer
  • Another thing is that in order to help avoid performance issues and better understand how Build Monitor is used out there in the wild, the app will now gather anonymous usage statistics.
  • One last thing is that this release also brings a fix to #183, which prevented Build Monitor from loading its UI assets if they're stored on a shared Windows network drive defined using a UNC path.
  • OK, maybe one more thing: Build Monitor is now using the Release Candidate Maven plugin which helps with retrieving and setting the project version during the CI process, if you're using Maven and doing Continuous Delivery you might want to check it out!

I hope you like the new features and fixes. Looking forward to hearing your thoughts on Twitter!

Best,
Jan


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

You can also sponsor a feature on bountysource!

Flattr Button

Error dialogs are back

08 Nov 01:42
Compare
Choose a tag to compare

Bug squashing session continues!

Due to a bug that crept into the CSS, error dialogs were not shown correctly.
This build fixes the problem and should prevent issues such as #171 from occurring again.


Do you find Build Monitor useful? Support its development :)

Give it a star! ★
Found a bug? Raise an issue or submit a pull request.
Have feedback? Let me know on twitter: @JanMolak

You can also sponsor a feature on bountysource!

Flattr Button