Refactor metadata usage in CI Rules entry

What does this MR do and why?

Entry::Rules is shared between the Workflow and Processable entries. Normally, we support only the if, changes, exists, when, and variables keys in workflow:rules. Yet, we accidentally allow start_in, allow_failure, and needs.

In this change, we don't aim to fix this, this will be done in Eliminate using `allowed_when` and `allow_keys` (#436473).

In this change, we aim to simplify and highlight this behavior by adding allowed_keys in the Rules usage.

Also, in validations, we start using only allowed_when and allowed_keys, we don't use the class constants anymore.

This step will help implementing workflow:rules:auto_cancel (#436467 - closed).

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading
Loading