Whenever Job DSL script is stored in a GitHub repository, it's impossible to use gitflow-like patterns to stage a change, verify pull-request and then merge.
Naturally, you can't stage DSL script fully. However, you get 80% of the goal if:
- you can use GitHub Pull Request Builder
- you have a simulation mode turned on
- simulation mode runs DSL script, prints generated config files and/or changes but makes no changes to Jenkins configuration