Jenkins allows jobs chaining - one job calls another. We may configure it in the Trigger/call builds on other projects section.
Is it possible to create a "private" Jenkins job, which can be called only from within another job and never directly?
The use case is to avoid users launching by mistake an internal job which is mentioned to be used only as one of the steps in a job chain. All users are trusted, it is meant as a protection against a mistake.
Add to beginning of your downstream/protected job. Please note that this requires like 3 approvals if you run your scripts in sandbox.
For more information the example I've based on and the actual Cause class.