Provide tooling to make fixing all of the existing projects missing gitlab-ci.yml files easy

To fix all of the existing projects, we could add new UI/workflow at the group level. I am thinking either something in the existing UI (an action button), a new section on the framework edit screen, or a new "manage framework" screen.

The functionality we could provide is a button or something that detects all of the projects under the group that are using the framework and are missing a ci file, and offer a button to 1-click create the MRs for all of the projects that need it.

framework UI edit framework screen
UI1 UI2

We could maybe bypass the MR process with some sort of 1-shot script to fix the existing projects, but that seems a little iffy (to be modifying customer projects), so I prefer making it an opt-in action taken by group owners.

Purposed Implementation Plan:

  1. Create API POST projects/:id/create_ci_config.
  2. In this API write a service that handles creating branch, commit, and merge request
  3. Write relevant specs.

Using this service we can also create a one-time script to create merge requests for all relevant projects under a group.

Edited by Harsimar Sandhu