Expose the runner UUID in the REST API, GraphQL, and job details

What does this MR do and why?

Expose the runner UUID in the REST API, GraphQL, and job details

Since !241155 (merged) every runner has a UUID, but it is visible only in the job payload, Runner logs and the job trace. Expose it, read-only, wherever runner details are returned, so users can match a runner in GitLab with what they see in Runner logs and job traces.

In the REST API the attribute comes from a new RunnerWithUuid entity, used only by the runner endpoints. The base runner entity is nested in other APIs, such as jobs and deployments, and is guarded against growth, so those responses stay unchanged.

The GraphQL field is non-nullable because the column is NOT NULL. The job details JSON also gets the UUID. It is gated by job read access, which is the same audience that already sees the UUID in the job trace.

The model marks the UUID as read-only, so it can't change after the runner is created, whatever an API caller sends.


Committed by an AI agent on behalf of and under the supervision of a human

Changelog: added

References

Screenshots or screen recordings

Before After

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading
Loading