Jenkins Build Monitor Plugin
Jenkinsfile
(#684) @basilpackage-lock.json
(#681) @basilkarma-coverage
from 1.1.2 to 2.2.0 in /build-monitor-plugin (#678) @dependabotwebpack
from 5.75.0 to 5.76.0 in /build-monitor-plugin (#674) @dependabotserenity
from 3.2.3 to 3.6.12 (#659) @dependabothandlebars
from 4.0.11 to 4.7.7 in /build-monitor-plugin (#474) @dependabothosted-git-info
from 2.7.1 to 2.8.9 in /build-monitor-plugin (#475) @dependabotslf4j
from 1.7.36 to 2.0.6 (#661) @dependabotgson
from 2.9.1 to 2.10.1 (#667) @dependabothttpclient
from 4.5.13 to 4.5.14 (#668) @dependabotHave you ever wanted to make the code coverage, compiler warnings or some other build stat more visible? Well, now you can!
This build brings a number of other improvements too:
To set a badge:
Groovy Postbuild
post-build action to a Jenkins project of your choicemanager.addShortText(textToDisplay)
which sets a badge with default coloursmanager.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
Give it a star! ★ Found a bug? Raise an issue or submit a pull request. Have feedback? Let me know on twitter: @JanMolak
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:
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
Give it a star! ★ Found a bug? Raise an issue or submit a pull request. Have feedback? Let me know on twitter: @JanMolak
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 ;-)
With this release, Build Monitor will tell you quite a few new things about your builds!
For example:
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.
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!
There are quite a few improvements here as well:
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:
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.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! 😃
Give it a star! ★ Found a bug? Raise an issue or submit a pull request. Have feedback? Let me know on twitter: @JanMolak
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!
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
Give it a star! ★ Found a bug? Raise an issue or submit a pull request. Have feedback? Let me know on twitter: @JanMolak
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:
to get something like this:
On top of that, this release also brings:
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
Give it a star! ★ Found a bug? Raise an issue or submit a pull request. Have feedback? Let me know on twitter: @JanMolak
Jenkins 2.0 is out and you can enjoy it even more now that Build Monitor is compatible with it.
This release introduces:
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
Give it a star! ★ Found a bug? Raise an issue or submit a pull request. Have feedback? Let me know on twitter: @JanMolak
Clean up of the UI continues! This release brings following improvements:
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 :smiley:
Best, Jan
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!
This release makes the Build Monitor UI just a little bit smarter:
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
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!