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_cd
haml file calledmigrate_jenkins_banner
- Add the same
migrate_jenkins_banner
attribute 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_enabled
attribute. - Add the missing
isDismissedMigrateJenkins
data 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