{jenkins-plugin-info:pluginId=buildtriggerbadge}

This plugin displays icon(s) representing the cause(s) of a build directly in the build history. It lets you quickly know which cause triggered a build.

Without this plugin, you may sometimes wonder what triggered a particular build shown in the build history.
To know it, you have to open each link separately, which can be cumbersome.

Note: after installation, the plugin will currently only add icons on new builds. Old builds won't have the indicator.

Screenshot

On builds

Last Build Trigger Column


A tooltip on each icon is available for details.

Wait, this does not work, I see a question mark icon for my builds!

This means the cause of the build is not yet supported by the plugin. It's pretty easy to add one, we basically only need the fully qualified name (FQN) of that build cause, and an icon (smile).
Finding out that FQN is pretty easy. You can simply use the Jenkins API through your browser.

Open the build page, and suffix it with /api/xml?xpath=//cause&wrapper=causes. To give something like: _https://yourjenkinsserver/job/somejob/15/api/xml?xpath=//cause&wrapper=causes_

Then, paste that output in a JIRA issue explaining your case. Even better, filing a pull-request would be great (smile).

Changelog (note: the date format below is the logical one, not the american one (wink))

Version 2.9 -  

Version 2.8 - 17/02/2017

Version 2.7 - 20/11/2016

Version 2.6 - 15/10/2016

Version 2.5 - 07/10/2016

Version 2.4 - 04/10/2016

Version 2.3 - 17/06/2016

Version 2.2 - 10/10/2015

Version 2.1 - 01/09/2015

Pull-requests Based Release (smile) :

Version 2.0 - 06/02/2015

Version 1.4 - 31/01/2015

Version 1.3 - 24/09/2014

Version 1.2 - 29/04/2014

Version 1.1

Version 1.0

Version 0.9

To remove duplicates of the same Cause type and the same description (see JENKINS-15474), you can apply this groovy script :

import org.jenkinsci.plugins.buildtriggerbadge.BuildTriggerBadgeAction;

for(item in Jenkins.instance.items) {
  for(build in item.builds) {
    def set = new HashSet();
    for(action in build.badgeActions) {
      if(action instanceof BuildTriggerBadgeAction) {
      	def filter = action.cause.class.canonicalName + "_" + action.cause.shortDescription
      	if(set.contains(filter)) {
	    println "removing duplicates BuildTriggerBadgeAction in build " + build.id
      	    build.actions.remove(action)
            build.save()
      	}
      	else {
            set.add(filter);
      	}
      }
    }
  }
}

It's not necessary to apply this script for versions >= 0.9.

Version 0.8

Version 0.7

Version 0.6

Version 0.5