The Top 5 Jenkins Plugins You Should Have in 2021

If you’ve been working with open-source automation server Jenkins for some time or have worked with Jenkins in different organizations, then you know that, like other open-source tools, the experience can vary vastly based on how the team is maintaining the platform.

Based on my experience administrating Jenkins, here are the five most essential plugins that you need to make life easier for yourself and the users:

Photo by Melinda Martin-Khan on Unsplash

1. Slack Integration

If your organization uses Slack, you can have your post-build notifications sent directly to your Slack and avoid all the annoying automated emails when your inbox is already crammed.

This is what Jenkins looks like in Slack:

The plugin makes browsing through your Jenkins-related notifications a breeze compared to searching through your inbox.

And these are your Slack notification options in Jenkins:

2. Job Configuration History

We’ve all been through the pain of either making some changes to your job and it starts to fail or wishing we could revert our job back to its old glorious self. Job Configuration History is here to make all of that possible.

The plugin grabs a config.xml file of each change that you make to your jobs, thereby creating a version control for all your Jenkins jobs — which is ultra convenient, especially when the users are playing around to optimize their jobs or during troubleshooting. What makes this plugin especially convenient is that it enables the user to have a side-by-side comparison of the changes that they’ve made:

This plugin saves a copy of the configuration file of jobs and agents config.xml for every change made and of the system configuration <config-name>.xml. And if you configure a security policy, you can also see what changes specific users have made.

3. Priority Sorter

The Priority Sorter plugin allows you to prioritize jobs. If your Jenkins deployment often has a large queue and users have certain jobs that have higher priority than others, then you can use this plugin to ensure the precedence of the most important jobs.

In a nutshell, it works as follows: imagine you’re waiting in line at a fast food place, when certain people — seemingly in a rush — start cutting to the front of the line and receiving service. When all workers are occupied, these “VIPs”/priority jobs are the first to receive service and execute as soon as a worker frees up.

4. Simple Theme

Ever felt like your Jenkins just feels like a foreign tool in your company’s software pool? That’s likely because you’re still using the default Jenkins theme. Luckily, you can customize the look and feel of Jenkins from its default theme to whatever you want.

Using the Simple Theme plugin, you can customize Jenkins to make the tool more familiar for users and in line with your organization’s visual brand. There are pre-built themes you can adopt, which can give you a head start especially if your company uses Atlassian products, for example.

5. Purge Build Queue

Ordinarily, you can remove jobs from the queue one-by-one, but, this is incredibly inconvenient, especially when there are tons of jobs. The Purge Build Queue plugin unlocks the ability to — you guessed it — instantly purge the built-up queue. You may be wondering why you would need this functionality — fantastic question! Allow me to paint a scenario where even I didn’t know I needed it until the following happened:

Our main DWH, where the majority of jobs query data from, ran into an issue where no query was executing. Once the DWH came back up, we had a massive queue that the scheduled builds had built up. We needed to clear this queue, which at the time involved removing jobs one-by-one. Lesson learned — the next time we ran into the same issue, we tried the Purge Build Queue plugin and saved a lot of time and frustration.

I strongly encourage you to give these plugins a try and bring them to the attention of your Jenkins admin. If you have any questions, see my contact details below.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store