Add a Message and Test API
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Description
In AppVeyor it's possible to use a back channel API from a build process (job / runner) to push information to the WebUI. Because GitLab and GitLab-CI are highly linked, a GitLab-CI runner would then push information directly to GitLab. The latter would display the received information.
This gives more information then just passed / failed jobs.
Proposal
Add a command line interface (API) to push information from a currently running job back to GitLab for real time displaying. Based on the AppVeyor example, all APIs are build around a REST API.
What can be transmitted:
As an example, in AppVeyor it's possible to push user defined messages of kind INFO, WARNING, ERROR to the WebUI. A message has a title and an optional description. The latter could -- in case of GitLab -- allow GitLab Flavored Markdown.
As a second example, again from AppVeyor, it's possible to push user defined test information to the WebUI. A test has a name and different states: None, Running, Passed, Failed, Ignored, Skipped, Inconclusive, NotFound, Cancelled, NotRunnable. Additionally, results from StdOut and StdErr can be provided. Because a name should be unique, a once pushed test can be updated e.g. with a different state like Failed or with a execution time (duration).
Links / references
The complete API is documented under Build Worker API
Related issues:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/17081 - CI View for JUnit-style XML (Next 4-7 releases)
