I much prefer using Jenkins Job Builder for managing jenkins jobs. I find Groovy and Jenkins Job DSL basically impossible to debug and a semantic nightmare. JJB is just a YAML file that creates jobs from it. You can generate the YAML however you want, but it’s pretty clear how that YAML turns into a job.
A few years ago, I built something similar to JJB for similar reasons.
For as prevalent as Jenkins is, I continue to be surprised and disappointed at how painful it is to automate.
I’ve been using the Job DSL at work. It’s a bit difficult to pick up and suffers from the standard “I learned this six months ago, now I have to relearn it to make a change” problem, but having the control inside the repo is one thing I’ve really come to love thanks to use Travis outside and inside of work.