Scheduled pipeline execution policies with additional properties not mirrored to database

Why are we doing this work

The schema for the overall policy.yml permits additional properties on the top-level of a scheduled pipeline execution policy. But we have a separate schema that validates the contents of the security_policies.content jsonb column which rejects additional properties. This means that a scheduled pipeline execution policy that contains additional high-level properties currently displays as enabled and functional in the UI, but it doesn't get persisted to the database.

We need to loosen the schema for security_policies.content so that it allows additional properties.

Relevant links

#520130 (comment 2475450974)

Non-functional requirements

  • Documentation:
  • Feature flag:
  • Performance:
  • Testing:

Implementation plan

diff --git a/ee/app/validators/json_schemas/pipeline_execution_schedule_policy_content.json b/ee/app/validators/json_schemas/pipeline_execution_schedule_policy_content.json
index 6c4112313c61..29709265716e 100644
--- a/ee/app/validators/json_schemas/pipeline_execution_schedule_policy_content.json
+++ b/ee/app/validators/json_schemas/pipeline_execution_schedule_policy_content.json
@@ -278,5 +278,5 @@
       }
     }
   },
-  "additionalProperties": false
+  "additionalProperties": true
 }
Edited by Dominic Bauer