Show reaching pipeline schedule limit on pipeline schedule page

Summary

Steps to reproduce

Example Project

What is the current bug behavior?

What is the expected correct behavior?

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info

(For installations with omnibus-gitlab package run and paste the output of: \\\`sudo gitlab-rake gitlab:env:info\\\`) (For installations from source run and paste the output of: \\\`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production\\\`)

Results of GitLab application Check

I was trying to create number 11 schedule, I got this error. Wondering why would this error appear on this page, instead of the pipeline list page when I click on the "new schedule" button. Thread in slack

Screen_Shot_2022-10-14_at_16.42.32

Expand for output related to the GitLab application check

(For installations with omnibus-gitlab package run and paste the output of: \`sudo gitlab-rake gitlab:check SANITIZE=true\`) (For installations from source run and paste the output of: \`sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true\`) (we will only investigate if the tests are passing)

Proposal

  • UX: Disable the New schedule button and show show a popover stating You have exceeded the maximum pipeline schedules in projects supported by your plan.Explore GitLab subscription plans
  • FE: Button is located in app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules.vue and we can use the disabled prop based on the state.
  • BE: We don't have a way to determine if users can create a schedule based on their plan limits, return a field from GraphQL canCreateSchedule that lets the client know if a user can take this action. This field should be added to app/graphql/types/ci/pipeline_schedule_type.rb
Edited by Payton Burdette