Get rid of "Migrate to GitLab CI/CD from Jenkins" banner
Problem to solve
GitLab keeps showing a Migrate to GitLab CI/CD from Jenkins banner on every Merge Request.
How can we get rid of it?
- The banner occupies valuable screen area which could be used for useful information
- It’s OK to show such a banner to admins but not to end users of a paid subscription
- It’s OK to show a banner once. After closing the banner, it should not reappear all the time, e.g., after reloading the page or navigating to a different MR
- Migrating to a different CI is an important business decision, which should not be driven by slapping a banner into users’ faces
- Migrating to a different CI takes time, during which banners shouldn’t be slapped into users’ faces
Steps to reproduce
The banner appears whenever I look at a merge request. I have not found a configuration option to turn it off, and the release notes don’t document that this banner was added.
Versions
Self-managed GitLab Enterprise Edition v17.1.1-ee
References
Proposal
Make these banner dismissible per project per user.
Technical proposal
- Add another checkbox to ->
application_settings -> ci_cdhaml file calledmigrate_jenkins_banner - Add the same
migrate_jenkins_bannerattribute to the ApplicationSettings helper and model to have the new setting available for configuration - Expose the new attribute so it's available on the REST API
- Create a migration to add the new attribute as a column. Example migration for the ApplicationSettings table
- Create tests similar to the ones made for the
suggest_pipeline_enabledattribute.- https://gitlab.com/gitlab-org/gitlab/-/blob/master/spec/features/admin/admin_settings_spec.rb
- https://gitlab.com/gitlab-org/gitlab/-/blob/master/spec/features/merge_request/user_sees_suggest_pipeline_spec.rb
- https://gitlab.com/gitlab-org/gitlab/-/blob/master/spec/requests/api/settings_spec.rb
- Add the missing
isDismissedMigrateJenkinsdata attribute to the MRWidgetOptions component- The MRWidget store must be initialized with the correspondent attribute
- The MergeRequestWidgetEntity will need to have a new field exposed similar to the
is_dismissed_suggest_pipeline. Tests for the entity also need to included
- Only show the Jenkins banner if the Admin setting is turned on and the pipeline has a valid Jenkins pipeline
Edited by Jose Ivan Vargas
