When job parameters are defined in the Jenkinsfile/script, Jenkins doesn't know what parameters are required until the job is run. You see the problem? to run the job you need the parameters. To know what parameters are required to run the job.
This is most visible with a new branch in multibranch jobs (there have been complaints).
- Investigate if it is possible to know without executing what parameters will be required
- If possible, an api to return such parameters
This could span general pipeline script, or pipeline model.