Skip to content

Add database table for CI job inputs

Problem

We need somewhere to persist CI job inputs.

Solution

Add a new table ci_job_inputs with the following fields:

  • name - text field with max length 255, unique per CI job
  • value - encrypted jsonb field with max characters 1024 (see pipeline_schedule_inputs for an example of validating max length for an encrypted field)
  • type - an enum field with the available input types
  • sensitive - a configurable boolean field that Runner will use to hide sensitive values

Possible additional fields:

We may want to include additional fields so we can use validation options that exist for config inputs with job inputs:

  • options
  • regex
  • others?

It might be best to do these post-MVP or at least in a following issue

Edited by 🤖 GitLab Bot 🤖