Add job inputs support to manual job play endpoints and GraphQL mutation

Problem

Currently, when users manually trigger a job (via UI, API, or GraphQL), they cannot provide custom values for job inputs defined in the CI configuration. The play endpoints need to:

  1. Accept job input values as parameters
  2. Validate inputs against the job's input schema
  3. Pass validated inputs to the job execution

Proposal

Extend the manual job play functionality to support job inputs:

REST API (POST /projects/:id/jobs/:job_id/play)

  • Add optional job_inputs parameter (hash/object)
  • Validate against job's input schema from Ci::Build#options[:inputs]
  • Return validation errors if inputs don't match schema

GraphQL (jobPlay mutation)

  • Add optional jobInputs argument (JSON object)
  • Same validation logic as REST API
  • Include input validation errors in mutation response
Edited by 🤖 GitLab Bot 🤖