[Feature] Generic/Custom Pipeline / Merge Request messages
Release notes
Generic/Custom messages can be emitted by pipeline jobs that are displayed in the pipeline view and any associated merge requests. This allows developers to report arbitrary results that don't fit into any of the established report categories: https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html
Problem to solve
Several external tools produce messages that don't fit into the existing report categories. Creating a new report category for each and every report wouldn't make sense. This also applies to internal tools that do very company specific things that still would make a lot of sense to report on a pipeline/merge request level.
Examples:
- Report differences between kubernetes manifests when moving from qa to staging to production with pipeline jobs.
- Report errors that come up when pushing an App to the App store via a CD job.
- Report hardware failures that happen for jobs that deploy to actual hardware that is unrelated to the source code itself
- etc.
Currently there are two (inbuilt) solutions that can be used to achieve a similar effect:
- Coerce the output into one of the other report formats so that it is displayed by the merge request widgets for those report types
- Job artifacts that are exposed in the merge request UI: https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#expose-job-artifacts-in-the-merge-request-ui
Both these only work for merge requests however, not for pipeline jobs in general where generic messages might also make a lot of sense.
Proposal`
Add either an API or a report type that introduces the ability to display custom messages in the pipeline and in a merge request widget.
There has been a previous attempt made here: !93357 (closed)
There is a similar request noted here: #7669
Intended users
Feature Usage Metrics
- How many pipelines with jobs outputting custom messages are created.
- How many api calls are made that create custom messages.