#### Developed by

![](docs/images/praqmalogo.png)

#### Sponsored by

![](docs/images/compart.png){width="125"
height="37"}

![](docs/images/sony.png){width="114"
height="77"}

The Matrix Reloaded Plugin allows rebuilding parts of an already built
Matrix build.

![](docs/images/matrix-reloaded.jpeg)

## Rebuilding a Matrix build

On all Matrix builds that has run while the plugin was installed there
will be a Matrix reloaded link. Click this, and it will take you to a
dialog, where you can check-mark the configurations that should be build
again. Nothing is checked by default, but the check-marks you set will
be cascaded as default settings, if applicable, to any down-stream jobs
triggered by the re-run.

## Typical Use Case

Occasionally when using matrix builds some of the configurations may
fail due to reasons, that are not necessarily related to the quality of
your code. We refer to them as *false negatives*, typical examples could
be that a slave didn't manage to obtain a license for some product you
are dependent on, a glitch in the network communication or a wrong
hard-ware configuration for the particular slave that ran it.

When that happens, you would probably want to rebuild those *false
negatives* simply by rerunning them and then paint over the original
result in the matrix with the new one.

With the Matrix Reloaded Plugin installed, all matrix builds will
hereafter offer a link named "Matrix reloaded" which takes you to a
dialog where you are presented to the original results of the matrix run
and offered an option to mark to ones you want to rebuild.

When you hit the "Rebuild Matrix" button a new Matrix build is scheduled
for execution. In the result all the configurations that were *not*
selected for rebuilding will continue to point to the original build
results, while the configurations that you *did* select are being
rebuilt and replaced in the new resulting matrix.

Reload option sometimes not available

The Matrix Reloaded link is only available on the builds that were
executed while the Matrix Reloaded Plugin was actually installed.
Sometimes you may see a Matrix Build, that doesn't offer the Reload
option, even though you did install the plugin. When that happens you
can simply do a regular re-run (of the entire matrix) and the Matrix
Reloaded option will be available on the new result.

## Using Matrix Reloaded

Once a build has been run, a link in the side panel of the Matrix build
and each of the sub runs have been added. This can be seen in the
following image:

![](docs/images/mrp-view.png)

When the "Matrix Reloaded" link is clicked, the user can select which
runs to rebuild. See the following image:

![](docs/images/mrp-select.png)

By default the failed and unstable runs are checked.

When the "Rebuild Matrix" button is clicked, the resulting build should,
hopefully, look like:

![](docs/images/mrp-view-success2.png)

### Matrix Runs

Selecting a specific Matrix run from a Matrix build, the "Matrix
Reloaded" link checks that specific run by default and no other run.

### Downstream building

It is possible to let downstream builds inherit the Matrix Loaded
configuration. This will rebuild the same combinations in any downstream
project.

-   If the downstream project is a Matrix project and does not have any
    of the selected combinations, none will be build.
-   If the downstream project is a Matrix project and have some of the
    selected combinations, those will be built. Just check *Matrix
    Reload downstream builds*.
-   If the downstream project is a non-matrix project (Freestyle project
    for example), it will be anyway rebuilt.

![](docs/images/downstream-build.png)

## Considerations

We do not plan that the Matrix Reloaded plugin should have *any*
influence on jobs actually being rebuilt. This could potentially create
a bit of a paradox: If a build is rebuilding only some configurations
and the job is configured to get the latest commit from a SCM, and a new
commit actually exists, then *some* of the configurations are based on
one commit, while *others* are actually based on the newer commit.

Potentially a mess!

## Issues

type

key

summary

Data cannot be retrieved due to an unexpected error.

[View these issues in
Jira](http://issues.jenkins-ci.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project%20=%20JENKINS%20AND%20status%20in%20%28Open,%20%22In%20Progress%22,%20Reopened%29%20AND%20component%20=%20%27matrix-reloaded%27&src=confmacro)

## Changelog

##### Version 1.1.3(2014-16-6)

-   Combination filters are now handled properly
    ([JENKINS-22966](https://issues.jenkins-ci.org/browse/JENKINS-22966))
-   Added a filter for aborted builds
    ([JENKINS-22964](https://issues.jenkins-ci.org/browse/JENKINS-22964))

##### Version 1.1.2(2014-9-5)

-   Fixed a detection issue, are we working with MatrixRun or
    MatrixBuild
    ([JENKINS-22535](https://issues.jenkins-ci.org/browse/JENKINS-22535))
-   Avoid NPE by removal of upstream
    ([JENKINS-17964](https://issues.jenkins-ci.org/browse/JENKINS-17964))

##### Version 1.1.1(2013-6-5) Thanks to lvotypko for the contributions.

-   Bubble links on matrix reloaded action have incorect url ([issue
    \#17748](https://issues.jenkins-ci.org/browse/JENKINS-17748))
-   matrix rebuild allows all users to issue builds ([issue
    \#16628](https://issues.jenkins-ci.org/browse/JENKINS-16628))
-   Fix bad url for configurations.

##### Version 1.1.0(2012-6-5)

-   Use Action instead of state object ([issue
    \#13670](https://issues.jenkins-ci.org/browse/JENKINS-13670))
-   Matrix Reloaded should trigger the same combination in downstream
    matrix job ([issue
    \#13514](https://issues.jenkins-ci.org/browse/JENKINS-13514))
-   Link to plugin from plugin configuration page is wrong ([issue
    \#12227](https://issues.jenkins-ci.org/browse/JENKINS-12227))

##### Version 1.0.2(2012-1-27)

-   Matrix Reloaded rebuilds entire matrix instead of just selected ones
    ([issue
    \#11647](https://issues.jenkins-ci.org/browse/JENKINS-11647))

##### Version 1.0.1(2011-6-21)

-   Updated design to comply with baseBuild

##### Version 1.0.0(2011-5-23) Initial release

Design wiki: [Matrix Reloaded Plugin
Design](https://wiki.jenkins.io/display/JENKINS/Matrix+Reloaded+Plugin+Design)