Specify variables when executing a manual pipeline from the UI
Description
Users can create new pipelines using the Run Pipeline button in the CI/CD > Pipelines page. It is already possible to specify the branch that will be used, but it is not possible to specify new variables for that specific run.
This could be very useful when users need to create a pipeline with "custom" values, in order to affect the behavior without changing the project secret variables for every other run, for example to run only some of the steps or to specify a different parameter for a deployment.
Proposal
Improve the New Pipeline view and allow users to specify variables that will be passed to that specific pipeline run only, in a similar way we already have in the settings page or for scheduled pipelines.
Since the branch is already defined, we don't need to support the protected
flag. It could be useful to support the environment scope, but can be decoupled in a different iteration.
Design
This page currently uses a layout with a left column. This needs to be changed to use a one-column layout.
We add a new Variables section with the help text:
Specify variable values to be used on this run. The values specified in CI/CD settings will be used by default.
Linking to PROJECT/settings/ci_cd
.
In this section, we have the same component we use in CI/CD settings. Since we will not be doing protected flags or environment scopes in this iteration, those two elements need to be removed from each row.
Every time the user enters a variable name, a new input row is added:
Additional design details
Removal actions are supposed to be represented with a garbage can according to our guidelines. If possible, this MR should switch the current icon out for our own remove.svg. This should happen both in this new page and CI/CD settings.
If possible, the Create for help text should be changed to:
Existing branch name or tag
Following https://gitlab.com/gitlab-org/gitlab-ce/issues/43998#note_67517122, it'd be great if we could take advantage of this MR to change the breadcrumbs so they're Group > Project > Pipelines > New
. Not a requirement, though.