Class JobRequestActionFactory

java.lang.Object
jenkins.model.TransientActionFactory<Job>
io.jenkins.plugins.batchcontrol.action.JobRequestActionFactory
All Implemented Interfaces:
ExtensionPoint

@Extension @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public class JobRequestActionFactory extends TransientActionFactory<Job>
Attaches the plugin's two per-job sidebar entries, and the trigger-lock notice, to every job.
  • JobRequestAction — so /job/<name>/batch-control/ is always routable; the action itself hides its sidebar icon unless run control is on, the job requires approval and the user holds BatchControl/Request.
  • JobGrantRequestAction — a link to the grant screen for this job (U-01); it holds no URL space and hides itself unless change control is on, the user holds BatchControl/RequestGrant and the user does not already hold Item/Configure here.
  • JobTriggerLockAction — no sidebar entry and no URL; its jobMain.jelly shows the blocked-trigger notice on the job page when a switch is on.
  • JobActivationNoticeAction — no sidebar entry and no URL; its jobMain.jelly shows whether the job is activated (SPEC item 6a).

All are attached unconditionally and decide their own visibility, because a TransientActionFactory runs for reasons other than rendering a sidebar (URL routing, API listings) and must not make visibility depend on which of those is happening.