Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

Deprecated: This plugin has been removed from the Jenkins Update Centre

Since version 1.433, this functionality is included in the core.
Archived versions of this plugin remain available for download.

Plugin Information

No information for the plugin 'm2-extra-steps' is available. It may have been removed from distribution.

Deprecated since core 1.433. This plugin provides the ability to add pre- and post-build steps to Maven 2-type projects.

Since version 1.433 this functionality is included in the core, therefore this plugin is deprecated

This allows for the use of wrapper scripts, cleanup, version updating, etc outside of Maven while still taking advantage of the functionality of Maven 2 projects.

Project Configuration

Check "Configure M2 Extra Build Steps" in the Build Wrappers section of a Maven project's configuration. Add pre- and/or post-build steps, as desired. These steps function the same as freestyle project steps.

Version History

Version 1.1.8 (June 19, 2014)

Migrate job configuration to use maven-plugin pre/post build step support and auto-uninstall plugin.

Version 1.1.7 (Mar 6, 2012) (why no 1.1.5/.6 because Unknown User (olamy) had encountered github failure and was lazy to delete remote tags (tongue) )
  • fix potential NPE.
Version 1.1.4 (Feb 17, 2011)
  • Translation update (French)
Version 1.1.3 (Dec 21, 2009)
  • Bug fix: Load node properties (such as global environment variables) properly. (JENKINS-4701)
  • Bug fix: Don't NPE if runIfResult is set to null somehow. (JENKINS-5123)
Version 1.1.2 (Sep 28, 2009)
  • Bug fix: Properly checks against build result, taking into consideration that build result object could be null, which translates to successful. (JENKINS-4465)
Version 1.1.1 (May 28, 2009)
  • Bug fix: very silly mistake caused post-build run criteria to not display properly. (JENKINS-3789)
Version 1.1 (May 26, 2009)
  • Bug fix: No longer marks build as "keep forever". (JENKINS-3753)
  • Feature: Options added for conditionally executing post-build steps only when build succeeds, only when build succeeds or is unstable, or no matter what - the last being the default.
  • Also prettied up the config a bit.
Version 1.0 (May 18, 2009)
  • Initial release


  1. Unknown User (vrspraveen.atluri@gmail.com)


    I am running Shell script after the maven build using this plugin.This plugin is running the shell script even If the MVN build is failing.

    NOTE: I Enabled "Run only If the build suceeds" option but still this option doesnt seem like working in 1.1.3 version of the plugin.

  2. Unknown User (peter_schuetze)

    Does this plugin works with the locks and latches plugin? According to the console output only the main maven buildstep is protected by the locks and pre build steps as well as the post build steps are outside of the logged area. I need the pre and post steps also being protected by the locks.

  3. Unknown User (aranyakamal@gmail.com)

    Is it possible to add a pre-build script in a free style project in Hudson ?
    I have a free style grails project and I am building it using grails war.
    But I have to run an ant script which will update the application.properties and so that the manifest will be reflecting the version relative to hudson build number.

    I think this plugin works for Maven 2-type projects only.

    Any clue on this ?

    1. Unknown User (peter_schuetze)

      You don't need an extra step plugin with a freestyle job. You can already create more than one build step in a freestyle job.

  4. Unknown User (c.oellerer@web.de)

    Well, we're using hudson with the m2 extra steps plugin for building our web- and middletier and still got a major problem with the post build run-criteria.
    Each time our web- and middletier builds SCM change triggered incremental, we got the problem that our post-build steps, which do our ant packaging and the SCP job to our test environment, are not set off for a stable or instable build, with the criteria "Run only if build succeeds or is unstable"
    This leads to no deliveries for SCM change triggered incremental builds and is really annoying, cause every time we need a delivery for our software, we have to do a complete build, which takes about 20 minutes (incremental only 2-3 minutes).
    Does someone also have this problem, or does someone have a solution for this problem, cause the "workaround" to set the criteria to "Run regardless of build result" is no option, leading to "red" deliveries!?
    Using: Hudson 1.364, with latest m2 extra steps plugin, jdk1.5.0_18, maven 2.2.1 and ant1.7.
    Date: July, the 13th, 2010.

    1. Unknown User (robert.watkins@wotifgroup.com)

      It's a hudson bug. See JENKINS-6033

  5. Unknown User (cemerick)

    It appears that the M2 Extra Steps plugin does not ever properly recognize multimodule m2 release builds as successful, thereby not running post-maven steps (assuming they're configured only to run when the build is successful).

    larrys in #hudson irc suggested that that was due to the separate maven invocations for each module.  i.e. when I look at a build page, each module is gray, with only the top-level project build shown in blue (successful).

    I'm on hudson 1.364, and m2 extra steps plugin v1.1.3.  Is this a known issue?   Presumably, this plugin should determine "success" from the result of the top-level build process, and ignore any ambiguous results from module builds?

    Anyone have ideas as to a workaround?

    1. Unknown User (cemerick)

      Looks like there's an existing ticket for this issue, also with comments re: usage of the release plugin.  I'd comment there, but apparently I don't have the privs.

      1. Unknown User (cemerick)

        FYI, upgrading to Hudson 1.386 resolved this problem.

  6. Unknown User (timothyja)

    See below.

  7. Unknown User (timothyja)

    Hi there,

                We are using this plugin toghether with the 'WAS Builder Plugin' to Deploy out webapps/EJB's to a Develompment environment. All is working well for our webapps but we have come across a problem with this for our EJB's we have multimodule projects containing e.g. EJB-Client.jar and EJB.ear. We have selected the build option 'Build modules in parallel' so that if we make changes to EJB.ear we dont have all the projects using EJB-Client trying to rebuild.
    The problem is that because the build extra steps are defined at a project level this means that After the EJB-Client is built it trys to do a deploy, but we only want to deploy after an EJB.ear is built.

    Is it possible to extent 'M2 Extra Steps Plugin' to be able to select only do extra steps after X module is built?