Add a Message and Test API
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.
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
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:
NotRunnable. Additionally, results from
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
- https://gitlab.com/gitlab-org/gitlab-ce/issues/17081 - CI View for JUnit-style XML (Next 4-7 releases)