[FE] Add ability to manage skip_ci setting in Policy UI editor for pipeline execution policy

Background

We're adding the ability to disable the [skip ci] restriction for Pipeline Execution Policies. This requires updating the frontend to allow users to configure this new option in the policy editor and view it in the policy drawer.

Objective

Update the Pipeline Execution Policy editor and drawer to include the new skip_ci configuration.

Implementation Details

  1. Use ff security_policies_skip_ci
  2. Policy Editor Updates:
    • Add a new section for [skip ci] configuration
    • Include a toggle switch for skip_ci.allowed
    • Add a multi-select input for exceptions.users (visible when allowed is false)
    • Implement user search functionality for the exceptions input
  3. Form Submission:
    • Include the new skip_ci configuration when saving or updating a policy
    • Implement proper validation
  4. UI/UX:
    • Add tooltips and help text to explain the new options
    • Ensure all new UI elements are accessible and follow GitLab's design system
  5. Testing:
    • Write unit and integration tests for the new UI components and logic

Acceptance Criteria

  • Users can configure skip_ci.allowed and exceptions in the policy editor
  • The policy drawer correctly displays the [skip ci] configuration
  • All new UI elements are responsive and follow GitLab's design guidelines
  • Error messages are displayed for invalid configurations
  • All new code is covered by appropriate tests

Design

yaml:

---
pipeline_execution_policy:
- name: My pipeline execution policy
  description: Enforces CI/CD jobs
  enabled: true
  pipeline_config_strategy: override_project_ci
  configuration:
    skip_ci:
      enabled: true
      allowed_for:
      - type: user
        id: 1231231
  content:
    include:
    - project: verify-issue-469027/policy-ci
      file: policy-ci.yml
      ref: main # optional
  policy_scope:
    projects:
      including:
      - id: 361

Related Links

Edited by Artur Fedorov