Webhook Job event payload is incomplete

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

Summary

The payload for Job-typed events dispatched via Webhook is incomplete when comparing it against what can be queried via the Job API https://docs.gitlab.com/ee/api/jobs.html#get-a-single-job .

Proposal

Please, review the difference between which fields are dispatched via Webhook and which fields are returned via the REST API and align this information. From an outside look, there is no apparent reason for this inconsistency.

Confirm purpose and User Reception (how does this benefit the user?)

Webhooks are a great feature to integrate with log analysis tools. Sadly, the current lack of important fields makes several monitoring scenarios impossible, requiring a proxy to perform Gitlab REST queries and dispatch the response to the log analysis integration to fill in the missing fields.

Additional details

The recently added support for custom headers ( #362504 (closed) ), yet limited in its abilities ( #463332 (closed) ), cannot amend fields that aren't part of the currently defined payload ( https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#job-events).

The list of missing fields in the Job event payload includes (w.r.t. https://docs.gitlab.com/ee/api/jobs.html#get-a-single-job ):

  • coverage
  • archived
  • artifacts
  • artifacts_expire_at
  • tag_list
  • runner_manager
  • project:ci_job_token_scope_enabled

The field I am personally most interested in is tag_list in order to keep track of particular jobs. Note that the present field in the payload runner:tags is not equivalent.

Edited by 🤖 GitLab Bot 🤖