Add a Message and Test API

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

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:

  • Messages / Compilation Messages
  • Tests

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)
Edited Sep 08, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading