I want to automate our build processes.
We have 30+ configurations, each with a different SVN branch. Ideally, I would want to avoid having to create 30 separate Jenkins jobs, due to maintenance effort and risk of human error.
This is what "multi-configuration project" in Jenkins was designed for, but unfortunately Jenkins doesn't support using the configuration matrix axis in the SVN URL.
I also cannot build using parameterized build, because Jenkins will not allow the variables to be used in the local checkout paths (variables in URLs work fine, but they always end up going to a directory called ${BRANCH} (literal).
At the end of the day, I would like to be able to check out https://domain.ext/something/${BRANCH}/ and save it to /some/path/${BRANCH}. Even better if this is done in a way that leaves me able to take advantage of Jenkin's built-in SCM features (e.g. polling).
How can I make Jenkins understand what I'm trying to achieve?
There's two ways of doing something along the lines of what you want that I can see. You could either add all the branches in a single project (via "add location" in the config), check them out to different directories and figure out "manually" what changed (or build everything). This could be integrated with the multi-configuration thing with your configuration axis being the different checkout locations, i.e. every configuration gets a different working directory through the parameter.
The other way would be not to tell Jenkins about the repository, but trigger builds manually (e.g. through an SVN commit hook) and check out the source as the first build step. Again this could be done as a multi-configuration project along similar lines as outlined above.