Add a custom name (or description) to pipelines

Problem to solve

To explain this proposal I'd like to give a little context first:

Currently I got a repo which houses a project that can build products for different clients. This means when running a pipeline, it depends on e.g. environment variables to determine which client to build the product for.
One may call and compare this to a white-label product.

Because of this setup; the list of pipelines can grow large and unclear because you can't immediately see which client the pipeline is running for. You can only see the branch, but this is no anchor since this name is not unique and cannot be used to see which client it is.
To 'see' which client the pipeline is running for you need to i.e. inspect the used environment variables (in our case).

See the screenshot below for an example:

CleanShot_2019-03-05_at_11.57.06

In the above screenshot, all shown pipelines were started for a different client.
I deliberately messed with the environment of some pipelines (made it fail, or used a different branch) to display the list being unclear.

The feature I'd like to request is giving a pipeline some sort of custom 'name', or 'description', which can help users more easily identify the pipeline.
This name could then be shown 'somewhere' in the list of pipelines (maybe as an extra column).

Target audience

Further details

In the end this feature is about making the list of pipelines more convenient to use in—arguably a small number of use cases. Implementing the feature can, however, only add a win-win situation here I'd reckon.
This because you should not be required to name your pipeline, but if needed you can utilise the feature.

To support the above; I'd like to make the name more of a 'description' rather than using it to uniquely identify the pipeline. I think the ID—which pipelines already have already serve this purpose.

Proposal

I'd like to propose using the .gitlab-cy.yml to set the name of a pipeline, using a field named name (or run_name if the just 'name' would be too ambiguous).

The default could be set as an environment variable, using a combination of information already available, and changed either from the .gitlab-cy.yml or by a setting in the pipeline settings, e.g. $CI_PIPELINE_ID: $CI_COMMIT_TITLE ($CI_COMMIT_SHA).
Alternatively the default could also just be 'empty', which would result in the name not being displayed in the list.

To view the name my proposal would be to add it in the cells below the Pipeline column (which is now showing the number of the pipeline and who it was started by). Ideally it would then show the name and the number of the pipeline as popup when hovering of the name (or both at the same time if this would nicely fit).
Longer names could then be truncated and shown as full when hovering over them.

Permissions and Security

Everyone with sufficient permissions to create the pipeline should also be able to name it.

Security-wise this shouldn't have an impact, albeit the name could have character restrictions (but I'm not sure what GitLab's API can support and whatnot).

Documentation

What does success look like, and how can we measure that?

Success can be defined as being able to name pipelines and see that same name back in the list of pipelines (and when the pipeline itself or any of its jobs).

Edited by Gerald Eersteling