Jenkins matrix build lets one run several builds at once based on a list of parameters which are combined together. We use that for the *php-security jobs which are configured to generate build based on a list of projects.
An example is https://integration.wikimedia.org/ci/job/mediawiki-php-security/ which is made to run against MediaWiki core and vendor repositories against each of the master, REL1_31 and REL1_35 branches. The job page offers link to each of the combination which in the raw HTML looks like:
However that results in a 404 and in the Apache access.log we have:
The encoded slashes (%2F) are not preserved despite the Apache config having:
ProxyPass /ci http://localhost:8080/ci nocanon
The ZUUL_PROJECT variable is the Gerrit repository which uses slashes as a separator. That is also recognized as a path separator by Apache which I guess reject it.
Someone already cross filed bug reports to both Jenkins and Apache describing that exact same problem:
Seems we need to configure Apache with AllowEncodedSlashes On: https://httpd.apache.org/docs/2.4/en/mod/core.html#allowencodedslashes