-
New Feature
-
Resolution: Unresolved
-
Minor
-
None
Please support to pass in the axis values for matrix builds via a variable.
This would enable to calculate the stages to execute during runtime. This is often needed e.g. when in a monorepository certain stages should only be run for applications that changed in a git commit.
pipeline { environment { LOW_ERLANG_VER = '19.3.6.8' MID_ERLANG_VER = '20.3.8.24' HIGH_ERLANG_VER = '22.2' } stages { // ... // Other stages that need the values above // ... stage("Build") { matrix { axes { axis { name 'ERLANG_VERSION' values "{$env.LOW_ERLANG_VER}", "${env.MID_ERLANG_VER}", "${env.HIGH_ERLANG_VER}"
I agree that this would be useful, but there are some technical limitations to consider.
The values in the matrix must be defined at or before the pipeline starts. The matrix structure including stage names needs to be constructed and immutable
This scenarios would be possible for parameters, but would not be guaranteed safe for environment variables. It would work in the example above and as long as the environment variables are literals and are never overridden during the run.
However, these limitations are likely to cause confusion and bad surprises.